# Nginx部署笔记-Windows(1)
对于前后端分离的项目,由于页面和服务运行的端口不一致,会产生跨域问题,所以必须使用反向代理以解决跨域问题。
# 一、获取Nginx
可以从官网 (opens new window)获取,上图中选择一个版本,下载后直接解压即可。
将解压后的整个文件夹,拷贝至目标计算机/服务器。(这里以nginx-1.14.2
为例)
WARNING
⚠️注意:nginx不需要安装,开箱即用
如上图所示,这是一个典型的nginx
的文件目录结构。
配置文件:
nginx-1.14.2/conf/nginx.conf
前端代码:
nginx-1.14.2/project
报错信息(默认):
nginx-1.14.2/logs/error.log
# 二、配置Nginx
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
# tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream web1 { #负载均衡模块
server localhost:8080; #服务地址
}
server {
listen 8000; #监听端口
server_name localhost; #前端地址
root project; #前端项目文件目录
location /{ #路由模块
index index.html index.htm;
autoindex on; #自动文件索引 开
#autoindex_exact_size off;
#autoindex_localtime on;
}
location ^~/api/{ #服务请求代理
proxy_pass http://web1;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header Host $http_host;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
以上为一个典型简单的nginx配置示例,前端项目部署在http://localhost:8000
,若请求地址中带有/api/
,被视为请求服务,将被代理至http://localhost:8080
。
接下来启动nginx就好了->start nginx
。
# 三、Nginx常用命令
启动服务:
start nginx
强制停止:
nginx -s stop
强制重启:
nginx -s reload
强制退出:
nginx -s quit
测试配置:
nginx -t
强制关闭windows下所有nginx进程:
taskkill /im nginx.exe /f
WARNING
⚠️注意:以上nginx开头的命令为cmd中使用命令,powershell中会报错(如下图所示),如果想在powershell中使用,需要将nginx
替换为.\nginx
,如nginx -s reload
->.\nginx -s reload
。