LAMP之apache2.4.33

apache工作模式

apache 常用工作模式有2种,区别在于
worker模式
1. 线程模式
2. 占用资源少
3. 稳定性略差
4. 并发大 prefork模式
1. 进程模式
2. 占用资源多
3. 稳定
4. 并发一般 默认apache是prefork模式
通过编译--with-mpm=worker指定worker模式

1. apache2.4.33安装

检查安装apache所需的软件

[root@Poppy tools]# yum install pcre pcre-devel openssl openssl-devel zlib zlib-devel -y

报错区少apr
configure: error: APR not found. Please read the documentation.
http://archive.apache.org/dist/
[root@Poppy tools]# wget http://archive.apache.org/dist/apr/apr-1.6.3.tar.gz
[root@Poppy tools]# tar -xf apr-1.6.3.tar.gz
[root@Poppy tools]# cd apr-1.6.3
[root@Poppy tools]# ./configure --prefix=/application/apr-1.6.3
make && make install 报错缺少apr-util
configure: error: APR-util not found. Please read the documentation.
[root@Poppy tools]# wget http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz
[root@Poppy tools]# tar -zxf apr-util-1.6.1.tar.gz
[root@Poppy tools]# cd apr-util-1.6.1
[root@Poppy tools]# ./configure --prefix=/application/apr-util-1.6.1 --with-apr=/application/apr-1.6.3/
[root@Poppy tools]# make && make install

http包下载安装

www.apache.org   ---   https://mirrors.tuna.tsinghua.edu.cn/apache/
[root@Poppy tools]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.33.tar.gz
[root@Poppy tools]# tar xf httpd-2.4.33.tar.gz
[root@Poppy tools]# cd httpd-2.4.33
[root@Poppy tools]# ./configure --prefix=/application/apache2.4.33 --enable-deflate --enable-expires --enable-headers --enable-modules=most --enable-so --with-mpm=worker --enable-rewrite --with-apr=/application/apr-1.6.3/ --with-apr-util=/application/apr-util-1.6.1/
[root@Poppy tools]# make & make install
[root@Poppy httpd-2.4.33]# ln -s /application/apache2.4.33/ /application/apache
--enable-deflate 压缩
--enable-expires 客户端缓存

apache目录跟nginx目录对比

此目录相当于nginx的html目录,存放网站文件
[root@Poppy httpd-2.4.33]# ll /application/apache/htdocs/
-rw-r--r-- 1 root root 45 Jun 12 2007 index.html
[root@Poppy htdocs]# mkdir bbs www blog 此目录相当于nginx的conf目录,存放配置文件
[root@Poppy conf]# pwd
/application/apache/conf
[root@Poppy conf]# ls
extra httpd.conf magic mime.types original

2. apache虚拟主机配置

[root@Poppy conf]# vi httpd.conf
# Virtual hosts. 477 打开虚拟主机文件
Include conf/extra/httpd-vhosts.conf
[root@Poppy extra]# pwd
/application/apache/conf/extra
[root@Poppy extra]# ls httpd-vhosts.conf
httpd-vhosts.conf
[root@Poppy extra]# cat httpd-vhosts.conf |grep -v "#" 虚拟主机配置 <VirtualHost *:80>
ServerAdmin 111@qq.com 邮箱
DocumentRoot "/application/apache2.4.33/htdocs/www" 存放默认页的目录
ServerName www.joker.com 好像只能添加一个域名,不能后接多个,可以写ip地址
ServerAlias joker.com 别名
ErrorLog "logs/www-error_log" 错误日志
CustomLog "logs/www-access_log" common 访问日志
</VirtualHost> <VirtualHost *:80>
ServerAdmin 111@qq.com
DocumentRoot "/application/apache2.4.33/htdocs/blog"
ServerName blog.joker.com
ServerAlias blog.com
ErrorLog "logs/blog-error_log"
CustomLog "logs/blog-access_log" common
</VirtualHost>

3. 检查语法和启动

[root@Poppy extra]# /application/apache/bin/apachectl -t      检查语法
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.0.0.101. Set the 'ServerName' directive globally to suppress this message
Syntax OK
[root@Poppy conf]# vi httpd.conf
[root@Poppy conf]# cat -n httpd.conf |grep 194
194 ServerName 127.0.0.1:80                     可以屏蔽上面的信息
[root@Poppy conf]# /application/apache/bin/apachectl -t
Syntax OK
[root@Poppy conf]# /application/apache/bin/apachectl start 启动
[root@Poppy conf]# /application/apache/bin/apachectl graceful # reload 优雅的重启

4. 修改默认访问是目录

因为apache默认是以目录呈现给用户访问的,我们需要注销来给用户显示页面

[root@Poppy conf]# vi httpd.conf
232 # Options Indexes FollowSymLinks 与nginx autoindex on功能是一样的
[root@Poppy extra]# echo "apache www" > /application/apache/htdocs/www/index.html
[root@Poppy extra]# echo "apache blog" > /application/apache/htdocs/blog/index.html 客户端访问
[root@joker ~]# curl www.joker.com
apache www
[root@joker ~]# curl blog.joker.com
apache blog

5. 配置优化

在httpd.conf文件里,打开注释
Include conf/extra/httpd-mpm.conf 优化模块参考
[root@Poppy ~]# cat /application/apache/conf/extra/httpd-mpm.conf <IfModule mpm_prefork_module>
StartServers 5 启动有几个
MinSpareServers 5 最小空闲
MaxSpareServers 10 最大空闲
MaxRequestWorkers 250 并发有多少
MaxConnectionsPerChild 0 多少个子进程
</IfModule> <IfModule mpm_worker_module>
   ServerLimit      1500 后面添加的
StartServers 3
MinSpareThreads 75
MaxSpareThreads 250
ThreadsPerChild 25
MaxRequestWorkers 400 1500我们调1500的时候报SserverLimit错误,我们需要更改这个设置,默认系统会提示你,在你检查语法或者重启apache的时候
MaxConnectionsPerChild 0
</IfModule>

6. 更改首页目录位置,建议不修改

httpd.conf默认首页存放目录就是安装的目录
egrep -v "^$|#" httpd.conf
默认站点目录
<Directory "/application/apache2.4.33/htdocs"> 默认目录
AllowOverride None
Require all granted
</Directory> Include conf/extra/httpd-vhosts.conf 这个文件里面是虚拟主机配置 虚拟主机文件
cat httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin 111@qq.com
DocumentRoot "/application/apache2.4.33/htdocs/www"
ServerName www.joker.com
ServerAlias joker.com
ErrorLog "logs/www-error_log"
CustomLog "logs/www-access_log" common
</VirtualHost> 如果要用其他的目录就要在httpd.conf下面增加如下标签
<Directory "/var/share">
AllowOverride None 重写,打开是on
Require all granted
</Directory>
虚拟主机
<VirtualHost *:80>
ServerAdmin 111@qq.com
DocumentRoot "/var/share/www"
ServerName www.joker.com
ServerAlias joker.com
ErrorLog "logs/www-error_log"
CustomLog "logs/www-access_log" common
</VirtualHost>

LAMP之php5.3.27

1. php5.3.27安装

检查安装PHP所需的lib库

PHP程序在开发及运行时会调用一些诸如zlib,gd等函数库,因此需要确认lib库是否已经安装

[root@Poppy ~]# rpm -qa zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel
libjpeg-turbo-devel-1.2.90-5.el7.x86_64
zlib-devel-1.2.7-17.el7.x86_64
libxml2-devel-2.9.1-6.el7_2.3.x86_64
libiconv-devel 没有安装成功,因为默认yum源没有此包 [root@Poppy ~]# rpm -qa freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel
libcurl-devel-7.29.0-46.el7.x86_64
freetype-devel-2.4.11-15.el7.x86_64
libpng-devel-1.5.13-7.el7_2.x86_64
libxslt-devel-1.1.28-5.el7.x86_64
gd-devel-2.0.35-26.el7.x86_64 其中:libjpeg-turbo-devel是早期的libjpeg-devel的新名字,libcurl-devel是早期curl-devel的新名字
提示:库文件一般安装 *-devel包,就会把*安装,例如安装gd-devel,就会把gd安装
这些lib不是必须安装,但是目前企业环境下一般都需要安装的,否则,php程序运行时会出现问题,例如验证码 yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel
yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel 我们通过编译安装上面没有安装成功的库libiconv-devel
[root@Poppy tools]# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
[root@Poppy tools]# tar -zxf libiconv-1.14.tar.gz
[root@Poppy tools]# cd libiconv-1.14
[root@Poppy tools]# ./configure --prefix=/application/libiconv-1.14/
[root@Poppy tools]# make && make install
[root@Poppy tools]# ln -s /application/libiconv-1.14/ /application/libiconv
[root@Poppy tools]# rm -fr libiconv-1.14
报错:
In file included from progname.c:26:0:
./stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
^
make[2]: *** [progname.o] Error 1
make[2]: Leaving directory `/usr/local/src/zabbix-2.4.7/libiconv-1.14/srclib'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/local/src/zabbix-2.4.7/libiconv-1.14/srclib'
make: *** [all] Error 2
解决:
[root@Poppy tools]# vi srclib/stdio.in.h
找到698行,_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");*/
替换成
#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif
#endif
......即可 安装libmcrypt库
这是一个使用动态加载模块化的libmcrypt,libmcrypt对于在程序运行时添加/移除算法是有用的,libmcrypt目前不再被官方支持,其软件地址为http://mcrypt.hellug.gr/lib/,编译PHP的过程中,libmcrypt库不是必须要安装的包
Centos默认的yum源里面没有libmcrypt-devel,因此需要事先配置epel第三方yum源
[root@Poppy ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@Poppy ~]# yum -y install libmcrypt-devel 安装mhash加密扩展库
mhash是基于离散数据原理不可逆向的PHP加密方式扩展库,其在默认情况下不会开启。mhash可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存(如密码)等。它为PHP提供了多种散列算法,如MD5,SHA1,GOST等,可以通过MHASH_hashname()查看其支持的算法有哪些
需要注意的是:
1. 该扩展不能提供最新的散列算法
2. 该扩展结果原则上运算不可逆
[root@Poppy ~]# yum -y install libmcrypt-devel 安装mcrypt加密扩展库
PHP程序员在编写代码程序时,除了要保证代码的高性能之外,还有一点是非常重要的,那就是程序的安全性保障,PHP除了自带的几种加密函数外,还有功能更全面的PHP加密扩展库mcrypt和mhash
其中,mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以将密文还原
可以说,mcrypt是PHP里面重要的加密支持扩展库,该库默认情况下不开启
mcrypt库支持20多种加密算法和8种加密模式,具体可以通过函数mcrypt_list_algorithms()和mcrypt_list_modes()来显示
[root@Poppy ~]# yum install mcrypt
[root@Poppy ~]# rpm -qa libmcrypt-devel mhash mcrypt
mcrypt-2.6.8-11.el7.x86_64
mhash-0.9.9.9-10.el7.x86_64
libmcrypt-devel-2.5.8-13.el7.x86_64

2. 开始安装apache通过模块形式跟php链接

包源 和 下载
http://mirrors.sohu.com/ wget http://mirrors.sohu.com/php/php-5.3.27.tar.gz
[root@Poppy tools]# tar xf php-5.3.27.tar.gz
[root@Poppy tools]# cd php-5.3.27
[root@Poppy tools]# ./configure --prefix=/application/php-5.3.27/ --with-apxs2=/application/apache/bin/apxs --with-mysql=/application/mysql/ --with-iconv-dir=/application/libiconv/ --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr/ --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-zend-multibyte --enable-static --with-xsl --enable-ftp
[root@Poppy tools]# make
[root@Poppy tools]# make install
[root@Poppy php-5.3.27]# ln -s /application/php-5.3.27/ /application/php3
[root@Poppy php-5.3.27]# /application/php3/bin/php -v
PHP 5.3.27 (cli) (built: Jun 13 2018 14:38:39)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
[root@Poppy php-5.3.27]# ls /application/apache/modules/libphp5.so
/application/apache/modules/libphp5.so libphp5.so就是这个模块,控制apache与php的链接
[root@Poppy ~]# cat /application/apache/conf/httpd.conf|grep php
LoadModule php5_module modules/libphp5.so 配置文件已经支持了

3. 配置PHP引擎配置文件php.ini

配置文件存储在解压出来的目录里面,模版的配置文件有开发模版,生产模版二个版本,开发环境的模版更多的是开启日志,调试信息,而生产环境都是关闭状态
[root@Poppy php-5.3.17]# cp php.ini-production /application/php/lib/php.ini

4. 配置apache的httpd.conf文件让其支持php

修改配置文件
[root@Poppy php-5.3.27]# cd /application/apache/conf # 配置文件目录
[root@Poppy conf]# vi httpd.conf # 编辑httpd文件
391 AddType application/x-httpd-php .php .phtml # 添加,会找下面的libphp5.so模块
392 AddType application/x-httpd-php-source .phps # 添加 交给httpd.conf里面的libphp5.so模块
153 LoadModule php5_module modules/libphp5.so 修改默认页,httpd.conf
252 <IfModule dir_module>
253 DirectoryIndex index.php index.html # 默认页也需要支持php文件
254 </IfModule> [root@Poppy conf]# ../bin/apachectl -t
Syntax OK
[root@Poppy conf]# ../bin/apachectl graceful

测试LAMP环境生效的情况

1. 配置apache支持PHP程序请求访问,通过apache请求访问PHP

[root@Poppy htdocs]# cat www/test_info.php
<?php phpinfo(); ?>
客户端访问
[root@joker ~]# curl www.joker.com
apache wwww
[root@joker ~]# curl blog.joker.com/test_info.php

2.  PHP链接MYSQL的情况进行测试

[root@Poppy blog]# cat test_mysql.php
<?php
$link_id=mysql_connect('localhost','root','') or mysql_error();
if($link_id){
echo "mysql successful by root";
}else{
echo mysql_error();
} // 这是单行注释
/* 这是多行注释 */
?> 客户端访问
[root@joker ~]# curl www.joker.com/test_mysql.php
mysql successful by root

利用LAMP部署一个blog程序服务

详细过程参考LMNP环境应用实践的搭建过程https://www.cnblogs.com/jokerbj/p/9168573.html

我们简化步骤

1. mysql数据库配置

[root@Poppy blog]# mysql -uroot -p
mysql> drop database test; # 清除无用的库
mysql> select user(); # 查看当前用户
mysql> create database wordpress;# 创建wordpress库
mysql> select user,host from mysql.user; # 查看用户,地址
mysql> grant all on *.* to wordpress@'localhost' identified by ''; # 授权账号权限登录
mysql> drop user wordpress@'localhost';
mysql> grant all on wordpress.* to wordpress@'localhost' identified by '';
mysql> show grants for wordpress@'localhost';
mysql> flush privileges; # 刷新

2. apache配合php,就是httpd.conf文件,上面有说到

3. 获取wordpress程序

https://cn.wordpress.org/
https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz

4. 开始安装wordpress程序

[root@Poppy tools]# tar -xf wordpress-4.9.4-zh_CN.tar.gz
[root@Poppy tools]# cp -a wordpress/* /application/nginx/html/blog/
[root@Poppy tools]# chown -R www.www /application/nginx/html/blog/ [root@Poppy extra]# mysql -uwordpress -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| wordpress |
+--------------------+
rows in set (0.00 sec) mysql> use wordpress;
Database changed
mysql> show tables;
Empty set (0.00 sec) 浏览器访问ip,就会出现一个数据库连接信息,按照之前我们创建的库,账号填写,点击继续,就会多出一个wp-config.php文件,存数据库连接信息,站点目录必须有权限,www
[root@Poppy blog]# ls wp-config.php
wp-config.php
[root@Poppy blog]# pwd
/application/nginx/html/blog
[root@Poppy blog]# ls wp-config.php
wp-config.php 点击继续安装,到欢迎页面,填写博客标题,用户名,密码等
点击安装wordpress,页面提示成功,此时数据库就会多了很多表,点击登录就会跳转到博客登录页面

LAMP服务分开

我们将我们搭建好的博客进行拆分,数据库使用远程服务器,编写文章上传图片到nfs

mysql更改和php链接mysql更改如下

原数据库数据
[root@Poppy tools]# mysqldump -uroot -p123456 wordpress -B|gzip>wordpress.sql.gz
备份wordpress数据库,如果是-A则代表所有库
[root@Poppy tools]# scp wordpress.sql.gz root@远程数据库服务器:/tmp 远程数据库
[root@joker tmp]# gzip -d wordpress.sql.gz
[root@joker tmp]# mysqladmin -uroot -password 123456
[root@joker tmp]# mysql -uroot -p123456 < wordpress.sql
[root@joker tmp]# mysql -uroot -p123456 -e "show databases like 'wordpress'"
[root@joker tmp]# mysql -uroot -p123456 -e "use wordpress;show tables" 数据库授权登录权限
mysql> grant all on wordpress.* to wordpress@'%' identified by '';
mysql> flush privileges; 更改wp-config.php里面的数据库连接
[root@Poppy blog]# pwd
/application/apache/htdocs/blog
[root@Poppy blog]# cat wp-config.php
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress'); /** MySQL数据库用户名 */
define('DB_USER', 'wordpress'); /** MySQL数据库密码 */
define('DB_PASSWORD', ''); /** MySQL主机 */
define('DB_HOST', '远程数据库ip地址'); # 修改这里 /** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8mb4'); /** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');

nfs搭建配置

发表文章,插入图片,我们点击图片的地址是如下这个位置
http://ip/wp-content/uploads/2018/06/111.jpg
我们可以通过nfs来替代这个路径 我们先安装nfs服务器
[root@Poppy ~]# yum install rpcbind nfs-utils
[root@joker ~]# cat /etc/exports
# share /nfsbackup by joker for poppy at today
/nfsbackup nfs客户端ip(rw,sync,all_squash,anonuid=1006,anongid=1006) # 开启账号映射,将远程链接的用户映射到本地用户
[root@joker ~]# id www
uid=1006(www) gid=1006(www) groups=1006(www)
[root@joker ~]# ls -ld /nfsbackup/
drwxr-xr-x 3 www www 4096 Jun 12 18:01 /nfsbackup/
[root@joker ~]# systemctl start nfs.service
[root@joker ~]# showmount -e 127.0.0.1
Export list for 127.0.0.1:
/nfsbackup nfs客户端ip 客户端,也就是我们之前lnmp一台上的
[root@Poppy ~]# yum install rpcbind nfs-utils
[root@Poppy ~]# systemctl start rpcbind.service
[root@Poppy uploads]# pwd
/application/nginx/html/blog/wp-content/uploads
[root@Poppy uploads]# ls -ld /application/apache/htdocs/blog/wp-content/uploads
drwxr-xr-x 3 1006 1006 4096 Jun 12 18:01 /application/apache/htdocs/blog/wp-content/uploads
[root@Poppy uploads]# mv 2018/ /tmp
[root@Poppy uploads]# mount -t nfs nfs服务器ip/nfsbackup /application/apache/htdocs/blog/wp-content/uploads
[root@Poppy uploads]# mv /tmp/2018 ./
[root@Poppy uploads]# 空的也没关系,当我们创建文章添加图片了自动会生成
[root@Poppy uploads]# ls 2018/06/111
111-100x100.jpg 111-150x150.jpg 111-300x93.jpg 111.jpg

要注意,lnmp的静态化我还没有想到如何在lamp里面使用,所以文章地址是

http://ip/?p=11

lamp环境应用实践的更多相关文章

  1. 在Ubuntu Server下搭建LAMP环境学习记录

    更新于2015/6/16日,因图片地址失效,请在此地址查看:http://note.youdao.com/share/?id=1c249ae6dc6150cbf692adec67b23a33& ...

  2. CentOS使用yum源中自带的rpm包安装LAMP环境

    CentOS使用yum源中自带的rpm包安装LAMP环境.这是Linux下安装LAMP的环境一种最基本最简便的方式.新手可以从容安装使用. 1. 安装基础包(可选安装)yum install -y w ...

  3. Ubuntu14.04 lamp环境 php 无法加载mcrypt扩展

    Ubuntu14.04中安装后的LAMP环境(http://www.cnblogs.com/daiyu/p/4380657.html)中没有加载:mcrypt扩展,后期再laravel5使用中发现报错 ...

  4. CentOS 7 yum方式配置LAMP环境

    环境:CentOS 7 最小化安装 采用Putty连接 方法:采用YUM安装方法 目的:搭建Apache+Mysql+PHP环境 1,安装Apache yum install httpd //默认情况 ...

  5. CentOS下搭建LAMP环境详解

    前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...

  6. 7. LAMP环境搭建

    一.准备工作 1.安装编译工具gcc.gcc-c++ 注意解决依赖关系,推荐使用yum安装,若不能联网可使用安装光盘做为yum源-- 1)编辑yum配置文件: # mount /dev/cdrom / ...

  7. Ubuntu-server14.04搭建LAMP环境

    转自:http://www.cnblogs.com/myzhibie/p/4330327.html 对于很多PHP初学开发者来讲,搭建一个可用于生产的LAMP环境是一件费时费力的事情,本文以 ubun ...

  8. linux centos yum安装LAMP环境

    centos 6.5 1.yum安装和源代码编译在使用的时候没啥区别,但是安装的过程就大相径庭了,yum只需要3个命令就可以完成,源代码需要13个包,还得加压编译,步骤很麻烦,而且当做有时候会出错,源 ...

  9. ubuntu-kylin16.04搭建lamp环境。

    首先下载安装apache2 输入:sudo apt-get install apache2 安装完毕后,在浏览器中输入:localhost 显示如下图,说明安装正确. 紧接着安装php7.0 输入:s ...

随机推荐

  1. PentesterLab-PHP Include And Post Exploitation

    一.打开页面,看到这么个页面,按照惯例随手点一点 二.Login处显然是一个后台登录页面,但前提是的有账号密码,看了下Submit这个页面,发现url中有个page参数 三.nikto跑一下这个页面. ...

  2. angular 中不要使用location.href

    location.href = '#/HKorderList?gid='+gid+'&gname='+encodeURIComponent(gname)+'&cPeriod='+$(' ...

  3. 添加dom节点及优化

    创建并添加dom加点如何进行优化? 1.使用文档片(DocumentFragment) 可以理解为"仓库",用来保存将来可能会添加到DOM中的节点: var fragment = ...

  4. THREE.OrbitControls参数控制

    // Set to false to disable this control//鼠标控制是否可用 this.enabled = true; // "target" sets th ...

  5. BZOJ2216 Poi2011 Lightning Conductor 【决策单调性优化DP】

    Description 已知一个长度为n的序列a1,a2,...,an. 对于每个1<=i<=n,找到最小的非负整数p满足 对于任意的j, aj < = ai + p - sqrt( ...

  6. 【Codeforces】Round #491 (Div. 2) 总结

    [Codeforces]Round #491 (Div. 2) 总结 这次尴尬了,D题fst,E没有做出来.... 不过还好,rating只掉了30,总体来说比较不稳,下次加油 A:If at fir ...

  7. Oracle中用exp/imp命令快速导入导出数据

    from: http://blog.csdn.net/wangchunyu11155/article/details/53635602 [用 exp 数 据 导 出]: 1 将数据库TEST完全导出, ...

  8. hdfs会出现的一些问题

    实训的第一篇博客献给坑了我的hdfs…… 由于电脑的原因,突然花屏,虚拟机来不及挂起.之后发现50070端口进不去,查看jps进程发现没有namenode 先用stop-all.sh命令再start还 ...

  9. ubuntu中安装iso文件

    [font=微软雅黑]小施今天写一篇教程来教大家如何在Ubuntu中使用虚拟光驱. 在中使用是很简单的.可是很多新手却不会  前提:你所在的用户必须拥有root权限(终端中需要用到root权限).一个 ...

  10. java中static关键字的理解(转载)

    static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列 ...