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_connections 65535;
}
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_timeout 60;
server {
listen 80;
server_name 192.168.1.109;
location / {
root html;
index index.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_index index.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_INTERFACE CGI/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