Nginx在Ubuntu Server下安装和设置详解

一 安装nginx sudo apt-get install nginx sudo service lighttpd stop 停止lighttpd

sudo rcconf 去掉lighttpd开机自启动

二 nginx的配置:

设置nginx系统全局配置 sudo vim /etc/nginx/nginx.conf

在nginx.conf写入如下配置:

user www-data;
worker_processes 2; #设置占用CPU进程数

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid; #diy1 worker_rlimit_nofile 51200; #设置访问nginx最大连接数

events { use epoll; #设置访问模式 worker_connections 51200; #设置访问最大连接数 # multi_accept on;
}

http { include /etc/nginx/mime.types;

access_log    /var/log/nginx/access.log;
sendfile        on;
tcp_nopush     on;

#keepalive_timeout  0;
keepalive_timeout  65;
tcp_nodelay        on;

#设置fastcgi相关参数:连接,发送,读取时间以及缓存大小等 fastcgi_connect_timeout 300;
fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k;

#设置文件压缩相关参数 gzip on;

gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;

gzip_disable "MSIE [1-6]\.(?!.*SV1)";

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

}

单个web网站配置 sudo vim /etc/nginx/sites-available/default

在default中写入如下配置:

server { listen 2080; #设置网站访问端口号 server_name a.a; #设置访问网站域名或者ip

access_log  /var/log/nginx/localhost.access.log;

location / {
    root   /var/www/nginx-default;           #设置网站根目录路径
    index  index.php index.html index.htm;   #设置首页文件类型
}

#启用fastcgi并设置相关参数
location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;                    #设置网站脚本目录路径
    include fastcgi_params;
            fastcgi_param DOCUMENT_ROOT "网站根目录路径";   #设置网站文档目录路径
}
     #关闭一些多余文件日志
    location ~ .*\.(js|jpg|JPG|jpeg|JPEG|css|bmp|gif|GIF)$
    {
         root   /var/www/nginx-default;                  
         access_log off;
     }

}

在/etc/nginx/sites-enable/目录下设置单个web网站配置文件的软连接 sudo ln -s 配置文件名称 /etc/nginx/sites-available/配置文件名称

负载均衡控制服务器上的nginx设置

在负载均衡控制服务器上/etc/nginx/sites-available/目录下新建nginxctrl文件

在nginxctrl写入如下配置:

#设置负载机器IP以及负载权重 upstream bk{ ip_hash; server 192.168.2.201:2080 weight=10; server 192.168.2.202:2080 weight=10; } #设置需要负载的网站ip或者域名 server { listen 80; server_name a.a; location /{ proxy_pass http://bk; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

}

在/etc/nginx/sites-enable/目录下设置nginxctrl软连接 sudo ln -s nginxctrl /etc/nginx/sites-available/nginxctrl

启动fastcgi php: sudo spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -g www-data -f /usr/bin/php-cgi

设置php-cgi开机自启动: sudo vim /etc/init.d/nginx 找到在相应位置插入如下语句:

start) spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -g www-data -f /usr/bin/php-cgi echo "$NAME." stop) echo -n "Stopping $DESC: " pkill -9 php-cgi echo "$NAME."

重新启动nginx: sudo service nginx stop sudo service nginx start

关闭php-cgi日志 sudo vim /etc/php5/cgi/php.ini 找到下面一行 display_errors = On 更改为 display_errors = Off 保存重启php-cgi pkill -9 php-cgi sudo spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -g www-data -f /usr/bin/php-cgi

nginxURL重写

    #设置跳转标志
    set $urlgo '0';
    #设置例外标志
    set $urlgo2 '';
    #根据端口设置标志
    if ($server_port ~ ^(80)$) {
        set $tmp '1';
        }170
    if ($server_port ~ ^(443)$) {
        set $tmp '2';
        }
    #设置需要强跳到443的标志位
    if ($request_filename ~* .*(test.php|login.php|modifypass.php|pay.php|reg.php|pay_bank.php|pay_mobile.php|usercode.php)$ ) {
        set $urlgo '1';
    }
    #例外文件
    if ($request_filename ~* .*\.(js|jpg|jpeg|css|bmp|gif|png)$ ) {
        set $urlgo2 '1';
    }
    #例外文件
    if ($request_filename ~* .*(code_new|ajax)\.php$ ) {
        set $urlgo2 '1';
    }

    set $tmp $tmp$urlgo$urlgo2;
    #需要转到443
    if ($tmp ~ ^(11)$){
        set $X-Test $tmp;
        rewrite ^/(.*)$ https://$http_host/$1 permanent;
    }
    #需要转到80
    if ($tmp ~ ^(20)$){
        set $X-Test $tmp;
        rewrite ^/(.*)$ http://$http_host/$1 permanent;
    }

重定向 rewrite ^/(.*)$ http:// permanent;

转载于:https://my.oschina.net/chaon/blog/689510

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值