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_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

 


本文出自 “林夕” 博客,请务必保留此出处http://lutaoxu.blog.51cto.com/4224602/1548511

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。