3r211 发表于 2014-9-4 09:12:10

Linux+Nginx Web Server+Mysql+PHP 续

12.安装nginx所需的pcre库:
tar -zxvf pcre-8.31.tar.gz
cd pcre-8.31
./configure
make && make install
cd ../
13.安装Nginx:
tar -zxvf nginx-1.5.8.tar.gz
cd nginx-1.5.8
./configure --user=www --group=www--prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
cd ../
14.创建nginx日志文件:
mkdir -p /data1/logs
chmod +w /data1/logs/
chmod +w /data1/logs
chown -R www:www /data1/logs
15.创建及编辑nginx配置文件:
cd /usr/local/nginx/conf/
cp nginx.conf nginx.conf.bak
vim nginx.conf:
more nginx.conf|grep -v '^$'|grep -v '#'
user www www;
worker_processes 8;
error_log /data1/logs/nginx_error.log crit;
pid       logs/nginx.pid;
worker_rlimit_nofile 65535;
events {
    use epoll;
   worker_connections65535;
}
http {
   include       mime.types;
   default_type application/octet-stream;
    log_formataccess '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     ' "$http_user_agent" $http_x_forwarded_for';
    access_log/data1/logs/access.log access;
   sendfile      on;
   keepalive_timeout60;
    server {
       listen       80;
       server_name192.168.1.109;
      location / {
         root   html;
         indexindex.html index.htmindex.php;
      }
       error_page   500 502 503 504/50x.html;
       location = /50x.html {
         root   html;
      }
       location ~ .*\.(php|php5)?$ {
            fastcgi_pass   127.0.0.1:9000;
         fastcgi_indexindex.php;
            include      fcgi.conf;
      }
       location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
      {
               expires 30d;
      }
       location ~ .*\.(js|css)$
      {
               expires 1h;
      }
    }
}
16.在/usr/local/nginx/conf/目录中创建fcgi.conf文件:
cp fastcgi.conf fcgi.conf
cp fcgi.conf fcgi.conf.bak
vim fcgi.conf,内容如下:
more fcgi.conf|grep -v '^$'|grep -v '#'
fastcgi_param SCRIPT_FILENAME   $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING       $query_string;
fastcgi_param REQUEST_METHOD    $request_method;
fastcgi_param CONTENT_TYPE       $content_type;
fastcgi_param CONTENT_LENGTH    $content_length;
fastcgi_param SCRIPT_NAME       $fastcgi_script_name;
fastcgi_param REQUEST_URI      $request_uri;
fastcgi_param DOCUMENT_URI       $document_uri;
fastcgi_param DOCUMENT_ROOT      $document_root;
fastcgi_param SERVER_PROTOCOL   $server_protocol;
fastcgi_param HTTPS            $httpsif_not_empty;
fastcgi_param GATEWAY_INTERFACECGI/1.1;
fastcgi_param SERVER_SOFTWARE   nginx/$nginx_version;
fastcgi_param REMOTE_ADDR      $remote_addr;
fastcgi_param REMOTE_PORT      $remote_port;
fastcgi_param SERVER_ADDR      $server_addr;
fastcgi_param SERVER_PORT      $server_port;
fastcgi_param SERVER_NAME      $server_name;
fastcgi_param REDIRECT_STATUS    200;
17.启动nginx:
/usr/local/nginx/sbin/nginx –t –c/usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx
Ps –ef|grep nginx|grep –v ‘grep’
18.配置开机自动启动Nginx+PHP:
vim /etc/rc.local,末尾增加:
more /etc/rc.local |grep -v '^$'|grep -v '#'
touch /var/lock/subsys/local
/usr/local/nginx/sbin/nginx
/data0/mysql/3306/mysql start
/usr/local/php/sbin/php-fpm
19.优化Linux内核参数:
vim /etc/sysctl.conf,在末尾增加内容:
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.ip_local_port_range = 1024 65535
/sbin/sysctl -p
20.检查nginx配置文件:
/usr/local/nginx/sbin/nginx –t
21.创建index.php查看nginx解析PHP文件情况:
<?php
      Phpinfo();
?>
22.检查nginx和php与mysql的连接情况:
vim mysql_test.php,内容如下:
<?php
       $link=mysql_connect("localhost","admin","12345678");
       if(!$link)
      {
                die('Could not connect: '.mysql_error());
      }
      else echo "Mysql test is successful!";
       mysql_close($link);
?>
chmod 777 mysql_test.php
chown -R www:www mysql_test.php
23.nginx日志切割:
vim /usr/local/nginx/sbin/cut_nginx_log.sh
#! /bin/bash
#This script run at 00:00
#The Nginx logs path
logs_path="/data1/logs/"
mkdir -p ${logs_path}$(date -d "yesterday"+"%Y")/$(date -d "yesterday" +"%m")/
mv ${logs_path}access.log ${logs_path}$(date -d"yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date-d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /usr/local/nginx/nginx/nginx.pid`
crontab –e
00 00 * * * /bin/bash/usr/local/nginx/sbin/cut_nginx_log.sh
/etc/init.d/crond restart


页: [1]
查看完整版本: Linux+Nginx Web Server+Mysql+PHP 续