nginx使用

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

安装Nginx(windows版)

  • 进入Nginx官网下载安装包;http://nginx.org/en/download.html
  • 打开控制台(cmd),进入Nginx安装包根路径;
  • 输入命令 nginx -t 检查配置文件是否配置成功,在启动服务之前执行;
  • 输入命令 start nginx 启动nginx服务;

启动成功验证

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

-2. 也可输入命令 tasklist /fi "imagename eq nginx.exe" 出现如下结果说明启动成功

关闭nginx

如果使用cmd命令窗口启动nginx,关闭cmd窗口是不能结束nginx进程的,可使用两种方法关闭nginx
(1)输入nginx命令
nginx -s stop(快速停止nginx) 强制关闭Nginx服务;
nginx -s quit(完整有序的停止nginx)等任务完成之后,关闭Nginx服务;
(2)使用taskkill taskkill /f /t /im nginx.exe

重启Nginx服务

重启Nginx服务,一般是修改了配置文件之后,使修改生效;
nginx -s reload

简单部署前端项目

  • listen后的80为端口号
  • server_name中的localhost为端口前的名字
  • location中的root后为我的项目的路径,项目下有css,html,js等静态资源文件
  • 如我想访问项目下的index.html,在浏览器中输入http://localhost:80/index.html
  • 80为listen后的值,localhost为server_name后的值,index.html为root后的路径下的html文件
  • index后的login.html为只输入http://localhost:80时默认跳转的页面
  • error_page中的404.html为项目中的404页面,当出现403和404错误时,跳到该页面。

配置文件讲解

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

# worker_processes:设定Nginx工作时的进程数,设置值小于cpu的内核数;
worker_processes  1;
events {
    # 设置nginx的最大连接数
    worker_connections  1024;
}
# keepalive_timeout:http连接超时时间,默认是65s。当需要上传大文件时,需要适当设置大一点,避免文件上传过程中断开连接,导致文件上传失败;
keepalive_timeout  5000; 
#gzip:对网络传输的数据内容进行压缩;
gzip  on;
   #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;当其他机器全忙或宕机时,才会使用。
# 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可以不要"/"结尾。

ftp+nginx的方式来实现文件服务器

————————————————
原文链接:https://blog.csdn.net/zorro_jin/article/details/84927408

你可能感兴趣的:(nginx使用)