nginx使用
安装Nginx(windows版)
- 进入Nginx官网下载安装包;http://nginx.org/en/download.html
- 打开控制台(cmd),进入Nginx安装包根路径;
- 输入命令 nginx -t 检查配置文件是否配置成功,在启动服务之前执行;
- 输入命令 start nginx 启动nginx服务;
启动成功验证
- 在浏览器中访问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