Nginx在windows下的安装、运行,以及配置文件讲解,nginx配置文件


一、安装Nginx(windows版)

    1、进入Nginx官网下载安装包;

    Nginx官网下载地址

    2、解压所下载的压缩包,并记住解压路径;

    3、打开控制台(cmd),进入Nginx安装包根路径;

    4、输入命令nginx -t检查nginx是否配置成功;

    5、输入命令start nginx启动nginx服务;

    6、在浏览器中访问localhost,便可看到nginx成功安装并运行的页面。(默认监听端口80)

二、Nginx常用命令

    1、检查配置文件是否配置成功,在启动服务之前执行;

nginx -t

    2、启动运行nginx服务;

start nginx

    3、等任务完成之后,关闭Nginx服务;

nginx -s quit

    4、强制关闭Nginx服务;

nginx -s stop

    5、重启Nginx服务,一般是修改了配置文件之后,使修改生效;

nginx -s reload

三、配置文件讲解

    Nginx所有的设置都在根目录conf文件夹下的nginx.conf文件中。

    在网上看到,不要以记事本来打开conf配置文件,会发生转码问题,破坏配置文件的内容,从而导致Nginx启动不起来。我用Notepad++打开修改的,没有问题。

    1、worker_processes:设定Nginx工作时的进程数,设置值小于cpu的内核数;

worker_processes  1;

     2、events:

events {
    # 设置nginx的最大连接数
    worker_connections  1024;
}

    3、keepalive_timeout:http连接超时时间,默认是65s。当需要上传大文件时,需要适当设置大一点,避免文件上传过程中断开连接,导致文件上传失败;

keepalive_timeout  5000; 

    4、gzip:对网络传输的数据内容进行压缩;

gzip  on;

    5、upstream:服务器的集群。可以设定多个不同名字的集群,以用于不同的server。这里可以设定nginx的工作策略,这里是使用默认的轮询;

# 服务器的集群  
upstream  localhost {  #服务器集群名字
    server    192.168.100.31:8801;
    server    192.168.100.32:8802;
    server    192.168.100.33:8803 down;
    server    192.168.100.34:8804 backup;
}  

   注:upstream中的每个server都可以设定以下状态:

  • weight-设定该服务的访问权重,权重越大被访问的几率越大,相应的压力就越大;
  • down- 表示此server不参与负载;
  • max_fails -允许请求失败的最大次数;当超过后返回proxy_next_upstream中定义的的错误;
  • fail_timeout:请求失败后暂停访问的时限;
  • backup:备用server;当其他机器全忙或宕机时,才会使用。

    6、server:代理服务器,可以设定多个代理服务器(每一个server就是一个虚拟服务器);请求进来之后由server的server_name决定该请求访问哪一个服务;

server {
    # 设置监听端口
    listen      9876;
    server_name  localhost;
    
    # 设置url编码格式,解决参数中文乱码问题
    charset utf-8;
		
    location / {
        proxy_pass http://localhost;  
        proxy_redirect default;  
    } 

    7、location: 配置该服务的访问规则,同一个server下可以配置多个location;

# 对静态资源进行映射
location ^~ /public/images/ {  
    alias D:/nginx-1.10.1/html/public/images/;
}

# 对"/"启用负载均衡
location / {
    proxy_pass http://localhost/;
    proxy_redirect default;
}
  • root-指定请求资源在服务器上的真实路径,可以写相对路径(相对于nginx安装目录)也可写绝对路径;
  • alias-指定请求资源在服务器上的真实路径,可以写相对路径(相对于nginx安装目录)也可写绝对路径;
  • index-指定访问主页,会在root设定目录下去找,后面可跟多个页面,依次查找,找到一个即返回;
  • proxy_pass-设置转发访问地址;

注:root与alias的使用区别

    1、root访问的资源路径为  root指定地址+location访问地址,alias访问的资源路径为  alias指定路径

# 用户访问地址:http://location/images/login.jpg

# root模式下
location /images/ {
  root E:/public;
}
# 访问的资源路径为: E:/public/images/login.jpg

# alias模式下
location /images/ {
  alias E:/public/;
}
# 访问的资源路径为: E:/public/login.jpg

    2、alias只能用于location中,但root在server、http以及location中都能使用;

    3、alias后面指定路径必须以 " / " 结尾,是一个文件夹,但root可以不要"/"结尾。

    有关于Nginx中location的配置方式,我在另外一篇博客中有详细介绍,有兴趣可以看看,欢迎指错。附上博文地址:Nginx中location的配置方法,以及匹配规则

 

相关内容

    暂无相关文章