Nginx配置与解析

一、安装

sudo apt-get install nginx

二、文件结构

/etc/nginx 所有的配置文件都在此目录
/etc/nginx/sites-enabled 配置虚拟主机
/usr/share/nginx/html 根目录,里面有两个默认网页 index.html和50x.html

/usr/sbin/nginx 启动程序文件
/var/log/nginx 存放日志,分别是access.log和error.log
/etc/init.d/ 启动脚本nginx

三、启动,停止,重启

看了很多参考,方法不唯一,先介绍最简单且一定有效的方法:

方法一:

启动

$nginx

停止

$nginx -s stop

重启

$nginx -s reload

方法二:

启动:

/etc/init.d/nginx start

停止

$ ps -ef | grep nginx

这里写图片描述

master进程好为3170,终止该进程

$ sudo kill -QUIT 3170

重启

$ /etc/init.d/nginx restart

还有很多种方法,不过目前来看,最有效的方式是采用方法一;

四、基本配置

/etc/nginx 目录下存在 nginx.conf 文件,这是nginx的配置文件,通常,我们需要对nginx设置时,都在此文件进行。
文件结构为

events{
    ......
}
http{
    ......
}

一个server是一个虚拟主机,我们需要添加虚拟主机时,在http下添加server,

http{
    ......
    ......

    server {
        listen 80 default_server;
        server_name localhost;

        root /usr/share/nginx/html;  #存放写好的网页
        index index.html index.htm;
    }

    server{
        ......
    }

    .......

}

但新版本添加server时要在/etc/nginx/sites-enabled/ 目录下的defaut文件中,原因在于nginx.conf文件中

events{
    ......
}
http{
    ......
    ......
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

其实都是读nginx.conf文件而已。很多发行版在nginx.conf底部添加include sites-enabled/*.conf、sites-available是为了方便管理,这样你就可以把已经配置好的各种 server conf 放在 sites-enabled里,如果想启用的时候只要复制或者软连接到 sites-available 或者sites-enabled文件夹里,想关掉或者换配置的时候取消include或者软连接;

五、常见的语法

1、基本配置

server {
    listen 80 default_server;
    server_name localhost;

    root /usr/share/nginx/html;
    index index.html index.htm;
}

我们自己写的网页可以放在usr/share/nginx/html 目录下进行访问。

2、内部变量

server {
    listen 80 default_server;
    server_name localhost;

    location / {
        if ( $query_string ~* ^(.*)cc=(.*)$ ){   
            proxy_pass http://$arg_cc;
        }
    }
}

querystring arg_name 参数值

3、设置变量

server {
    listen 80 default_server;
    server_name localhost;

    location / {
        set $b "";
        if ( $query_string ~* ^(.*)cc=(.*)$ ){   
            set $b "$arg_cc";
            proxy_pass http://$b;  
        }
     }
}

4、服务器池的参数

upstream back{
    server 192.1.1.1:80; 
    server 192.1.1.2:80 max_fails=3 fail_timeout=30s wight=3;
}

server后可以添加参数,
max_fails最大失败次数,如果3次没连上,任务服务器损坏,下次就跳过
wight 权重,优先使用权
还有其他一些参数,视情况添加。
5、个别参数说明
(1)proxy_set_head X-Forwarded_for

location / {
    proxy_pass http://back;
    proxy_set_head X-Forwarded_for $remote_addr;
    #转送真实客户端访问者的IP 而非代理IP
}

(2)nginx.conf 文件

worker_processes 1;     #进程数,一般情况设置与内核数相等;
events {
    worker_connections 1024;    
    # multi_accept on;
}

worker_connections 最大并发量,最大值为1024,受制于linux系统最多打开文件数;

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值