零、resource http://pan.baidu.com/s/1o83r3S2 一、centos 6.4、VirtualBox 5.0.14 二、nginx 1.9.9 安裝 [root@pc ~]# cd /usr/local/src/ [root@pc src]# yum install ...
零、resource http://pan.baidu.com/s/1o83r3S2
一、centos 6.4、VirtualBox 5.0.14
二、nginx 1.9.9
安裝
[root@pc ~]# cd /usr/local/src/ [root@pc src]# yum install wget [root@pc src]# wget http://heanet.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.tar.gz [root@pc src]# tar -xzf pcre-8.38.tar.gz [root@pc src]# cd pcre-8.38/ [root@pc pcre-8.38]# ./configure --prefix=/usr/local/pcre-8.38 [root@pc pcre-8.38]# make [root@pc pcre-8.38]# make install [root@pc pcre-8.38]# cd ../ [root@pc src]# yum -y install libjpeg libjpeg-devel libpng libpng-devel libvpx libvpx-devel libXpm libXpm-devel libxml2 libxml2-devel fontconfig fontconfig-devel freetype freetype-devel zlib zlib-devel bzip2 bzip2-devel curl curl-devel openssl openssl-devel [root@pc src]# groupadd www [root@pc src]# useradd -g www www [root@pc src]# passwd www [root@pc src]# wget http://nginx.org/download/nginx-1.9.9.tar.gz [root@pc src]# tar -xzf nginx-1.9.9.tar.gz [root@pc src]# cd nginx-1.9.9/ [root@pc nginx-1.9.9]# ./configure --prefix=/usr/local/nginx-1.9.9 --user=www --group=www --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.38 [root@pc nginx-1.9.9]# make [root@pc nginx-1.9.9]# make install [root@pc nginx-1.9.9]# cd /usr/local/nginx-1.9.9/conf/ [root@pc conf]# vi nginx.conf user www; worker_processes 10; error_log /data/logs/nginx_error.log; pid /data/logs/nginx.pid; http { include vhost/*.conf; } [root@pc conf]# mkdir vhost rewrite [root@pc conf]# mkdir -p /data/logs/ [root@pc conf]# chown -R www.www /data [root@pc conf]# chmod -R 777 /data [root@pc conf]# /usr/local/nginx-1.9.9/sbin/nginx -t nginx: the configuration file /usr/local/nginx-1.9.9/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx-1.9.9/conf/nginx.conf test is successful [root@pc conf]# /usr/local/nginx-1.9.9/sbin/nginx [root@pc nginx-1.9.9]# ps -ef | grep nginx root 14442 1 0 14:15 ? 00:00:00 nginx: master process /usr/local/nginx-1.9.9/sbin/nginx www 14457 14442 0 14:24 ? 00:00:00 nginx: worker process www 14458 14442 0 14:24 ? 00:00:00 nginx: worker process www 14459 14442 0 14:24 ? 00:00:00 nginx: worker process www 14460 14442 0 14:24 ? 00:00:00 nginx: worker process www 14461 14442 0 14:24 ? 00:00:00 nginx: worker process www 14462 14442 0 14:24 ? 00:00:00 nginx: worker process www 14463 14442 0 14:24 ? 00:00:00 nginx: worker process www 14464 14442 0 14:24 ? 00:00:00 nginx: worker process www 14465 14442 0 14:24 ? 00:00:00 nginx: worker process www 14466 14442 0 14:24 ? 00:00:00 nginx: worker process root 14472 1358 0 14:27 pts/0 00:00:00 grep nginx [root@pc conf]# curl http://localhost <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Welcome to nginx!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a>.<br/> Commercial support is available at <a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html>View Code
開機自啟
[root@pc conf]# vi /etc/init.d/nginx #! /bin/sh DESC="nginx service" NAME=nginx DAEMON=//usr/local/nginx-1.9.9/sbin/$NAME CONFIGFILE=/usr/local/nginx-1.9.9/conf/$NAME.conf PIDFILE=/data/logs/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME set -e [ -x "$DAEMON" ] || exit 0 do_start() { $DAEMON -c $CONFIGFILE || echo -n "nginx already running" } do_stop() { kill -INT `cat $PIDFILE` || echo -n "nginx not running" } do_reload() { kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload" } case "$1" in start) echo -n "Starting $DESC: $NAME" do_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME" do_stop echo "." ;; reload|graceful) echo -n "Reloading $DESC configuration..." do_reload echo "." ;; restart) echo -n "Restarting $DESC: $NAME" do_stop do_start echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2 exit 3 ;; esac exit 0 [root@pc conf]# chmod 775 /etc/init.d/nginx [root@pc conf]# service nginx restart [root@pc conf]# vi /etc/rc.local /etc/init.d/nginx startView Code
三、mysql 5.6.30
安裝
[root@pc ~]# cd /usr/local/src/ [root@pc src]# yum -y install bison expat expat-devel ncurses ncurses-devel libaio libaio-devel libc.so.6 [root@pc src]# wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz [root@pc src]# tar -xzf cmake-3.5.2.tar.gz [root@pc src]# cd cmake-3.5.2 [root@pc cmake-3.5.2]# ./configure [root@pc cmake-3.5.2]# make [root@pc cmake-3.5.2]# make install [root@pc cmake-3.5.2]# cd ../ [root@pc src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.30.tar.gz [root@pc src]# tar -xzf mysql-5.6.30.tar.gz [root@pc mysql-5.6.30]# groupadd mysql [root@pc mysql-5.6.30]# useradd -g mysql mysql -s /bin/false [root@pc mysql-5.6.30]# mkdir -p /data/mysql [root@pc mysql-5.6.30]# chown -R mysql.mysql /data/mysql [root@pc mysql-5.6.30]# mkdir -p /usr/local/mysql-5.6.30 [root@pc mysql-5.6.30]# chown -R mysql.mysql /usr/local/mysql-5.6.30 [root@pc mysql-5.6.30]# yum -y install bison-devel ncurses-devel libaio libaio-devel [root@pc mysql-5.6.30]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.30 \ -DMYSQL_DATADIR=/data/mysql \ -DSYSCONFDIR=/usr/local/mysql-5.6.30 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci [root@pc mysql-5.6.30]# make [root@pc mysql-5.6.30]# make install [root@pc mysql-5.6.30]# chmod +x scripts/mysql_install_db [root@pc mysql-5.6.30]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.6.30 --datadir=/data/mysql --explicit_defaults_for_timestamp [root@pc mysql-5.6.30]# cd /usr/local/mysql-5.6.30/ [root@pc mysql-5.6.30]# rm -f /etc/my.cnf ./my.cnf [root@pc mysql-5.6.30]# cp support-files/my-default.cnf ./my.cnf [root@pc mysql-5.6.30]# ln -s /usr/local/mysql-5.6.30/my.cnf /etc/my.cnf [root@pc mysql-5.6.30]# vi my.cnf basedir=/usr/local/mysql-5.6.30 datadir=/data/mysql port =3306 pid-file=/data/logs/mysql.pid log_error = /data/logs/mysql_error.log slow_query_log = 1 long_query_time = 1 slow_query_log_file = /data/logs/mysql_slow.log [root@pc mysql-5.6.30]# cp ./support-files/mysql.server /etc/init.d/mysql [root@pc mysql-5.6.30]# chmod 775 /etc/init.d/mysql [root@pc mysql-5.6.30]# /etc/init.d/mysql start Starting MySQL. SUCCESS!View Code
初始化密碼,允許遠程連接及開機自啟
[root@pc mysql-5.6.30]# vi /etc/profile export PATH=$PATH:/usr/local/mysql-5.6.30/bin [root@pc mysql-5.6.30]# source /etc/profile [root@pc mysql-5.6.30]# mysql -u root -p Enter password: #密碼為空 mysql> SET PASSWORD = PASSWORD('123456'); Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> DELETE FROM user WHERE Host!='%'; Query OK, 5 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye [root@pc mysql-5.6.30]# vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT [root@pc mysql-5.6.30]# service iptables restart [root@pc mysql-5.6.30]# vi /etc/rc.local /etc/init.d/mysql startView Code
四、php 5.6.21
安裝
[root@pc ~]# cd /usr/local/src/ [root@pc src]# wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz [root@pc src]# tar -xzf libmcrypt-2.5.7.tar.gz [root@pc src]# cd libmcrypt-2.5.7 [root@pc libmcrypt-2.5.7]# ./configure [root@pc libmcrypt-2.5.7]# make [root@pc libmcrypt-2.5.7]# make install [root@pc libmcrypt-2.5.7]# ldconfig [root@pc libmcrypt-2.5.7]# cd libltdl/ [root@pc libltdl]# ./configure --enable-ltdl-install [root@pc libltdl]# make [root@pc libltdl]# make install [root@pc libltdl]# cd ../../ [root@pc src]# wget http://jaist.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz [root@pc src]# tar -zxf mhash-0.9.9.9.tar.gz [root@pc src]# cd mhash-0.9.9.9 [root@pc mhash-0.9.9.9]# ./configure [root@pc mhash-0.9.9.9]# make [root@pc mhash-0.9.9.9]# make install [root@pc mhash-0.9.9.9]# cd ../ [root@pc src]# wget http://jaist.dl.sourceforge.net/project/lnmpaio/web/mcrypt/mcrypt-2.6.8.tar.gz [root@pc src]# tar -xzf mcrypt-2.6.8.tar.gz [root@pc src]# cd mcrypt-2.6.8 [root@pc mcrypt-2.6.8]# ./configure LD_LIBRARY_PATH=/usr/local/lib [root@pc mcrypt-2.6.8]# make [root@pc mcrypt-2.6.8]# make install [root@pc mcrypt-2.6.8]# cd ../ [root@pc src]# wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libzip-0.9-3.1.el6.x86_64.rpm [root@pc src]# rpm -ivh libzip-0.9-3.1.el6.x86_64.rpm [root@pc src]# wget http://cn2.php.net/distributions/php-5.6.21.tar.gz [root@pc src]# tar -xzf php-5.6.21.tar.gz [root@pc src]# cd php-5.6.21 [root@pc php-5.6.21]# ./configure \ --prefix=/usr/local/php-5.6.21 \ --with-config-file-path=/usr/local/php-5.6.21/etc \ --enable-fpm --with-fpm-user=www --with-fpm-group=www \ --enable-mysqlnd \ --with-mysqli=/usr/local/mysql-5.6.30/bin/mysql_config \ --with-pdo-mysql=/usr/local/mysql-5.6.30/bin/mysql_config \ --with-libxml-dir \ --enable-zip \ --with-zlib \ --with-zlib-dir \ --with-curl \ --with-mcrypt \ --with-gd \ --enable-gd-native-ttf \ --with-openssl \ --with-mhash \ --with-xmlrpc \ --with-jpeg-dir \ --with-png-dir \ --with-xpm-dir \ --with-freetype-dir \ --enable-shared \ --enable-xml \ --disable-rpath \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --enable-mbregex \ --enable-mbstring \ --enable-pcntl \ --enable-sockets \ --enable-soap ... configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no [root@pc php-5.6.21]# cat /etc/ld.so.conf.d/mysql-x86_64.conf cat: /etc/ld.so.conf.d/mysql-x86_64.conf: No such file or directory [root@pc php-5.6.21]# echo '/usr/local/lib' >> /etc/ld.so.conf.d/local.conf [root@pc php-5.6.21]# echo '/usr/local/lib64' >> /etc/ld.so.conf.d/local.conf [root@pc php-5.6.21]# cat /etc/ld.so.conf.d/mysql-x86_64.conf /usr/lib64/mysql [root@pc php-5.6.21]# echo '/usr/local/mysql-5.6.30/lib' >> /etc/ld.so.conf.d/mysql-x86_64.conf [root@pc php-5.6.21]# ldconfig [root@pc php-5.6.21]# ./configure --prefix=/usr/local/php-5.6.21 --with-config-file-path=/usr/local/php-5.6.21/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=/usr/local/mysql-5.6.30/bin/mysql_config --with-pdo-mysql=/usr/local/mysql-5.6.30/bin/mysql_config --with-libxml-dir --enable-zip --with-zlib --with-zlib-dir --with-curl --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --with-xmlrpc --with-jpeg-dir --with-png-dir --with-xpm-dir --with-freetype-dir --enable-shared --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-pcntl --enable-sockets --enable-soap [root@pc php-5.6.21]# make -j4 [root@pc php-5.6.21]# make install [root@pc php-5.6.21]# cd /usr/local/php-5.6.21/etc [root@pc etc]# cp /usr/local/src/php-5.6.21/php.ini-development php.ini [root@pc etc]# cp php-fpm.conf.default php-fpm.conf [root@pc etc]# vi php-fpm.conf pid = /data/logs/php-fpm.pid error_log = /data/logs/php-fpm.log pm.max_children = 40 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 [root@pc etc]# vi php.ini date.timezone = 'PRC' error_log = /data/logs/php_errors.log [root@pc etc]# /usr/local/php-5.6.21/sbin/php-fpm [root@pc etc]# ps -ef | grep fpm root 9516 1 0 15:52 ? 00:00:00 php-fpm: master process (/usr/local/php-5.6.21/etc/php-fpm.conf) www 9517 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9518 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9519 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9520 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9521 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9522 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9523 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9524 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9525 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9526 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9527 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9528 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9529 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9530 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9531 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9532 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9533 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9534 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9535 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9536 9516 0 15:52 ? 00:00:00 php-fpm: pool www root 9545 1666 0 15:54 pts/0 00:00:00 grep fpm [root@pc etc]# /usr/local/php-5.6.21/bin/php -v PHP 5.6.21 (cli) (built: May 7 2016 15:29:00) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend TechnologiesView Code
開機自啟
[root@pc etc]# vi /etc/init.d/php-fpm #! /bin/sh php_fpm_BIN=/usr/local/php-5.6.21/sbin/php-fpm php_fpm_CONF=/usr/local/php-5.6.21/etc/php-fpm.conf php_fpm_PID=/data/logs/php-fpm.pid php_fpm_INI=/usr/local/php-5.6.21/etc/php.ini php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID -c $php_fpm_INI" wait_for_pid () { try=0 while test $try -lt 35 ; do case "$1" in 'created') if [ -f "$2" ] ; then try='' break fi ;; 'removed') if [ ! -f "$2" ] ; then try='' break fi ;; esac echo -n . try=`expr $try + 1` sleep 1 done } case "$1" in start) echo -n "Starting php-fpm " $php_fpm_BIN --daemonize $php_opts if [ "$?" != 0 ] ; then echo " failed" exit 1 fi wait_for_pid created $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; stop) echo -n "Gracefully shutting down php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -QUIT `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed. Use force-quit" exit 1 else echo " done" fi ;; status) if [ ! -r $php_fpm_PID ] ; then echo "php-fpm is stopped" exit 0 fi PID=`cat $php_fpm_PID` if ps -p $PID | grep -q $PID; then echo "php-fpm (pid $PID) is running..." else echo "php-fpm dead but pid file exists" fi ;; force-quit) echo -n "Terminating php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -TERM `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; restart) $0 stop $0 start ;; reload) echo -n "Reload service php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -USR2 `cat $php_fpm_PID` echo " done" ;; *) echo "Usage: $0 {start|stop|force-quit|restart|reload|status}" exit 1 ;; esac [root@pc etc]# chmod 775 /etc/init.d/php-fpm [root@pc etc]# service php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm done [root@pc etc]# vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT [root@pc etc]# service iptables restart [root@pc etc]# vi /etc/rc.local /etc/init.d/php-fpm startView Code
五、vhost