为了账号安全,请及时绑定邮箱和手机立即绑定

Linux+Nginx Web Server+Mysql+PHP

标签:
PHP MySQL

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

 


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消