部署流程 (Ubuntu)
目录
- base目录 /etc/nginx
- 初始html /var/www/html/
安装
> sudo apt install -y nginx
基本操作指令
启
> sudo service nginx start
> sudo systemctl start nginx
停
> sudo service nginx stop
> sudo systemctl stop nginx
重载
> nginx -s reload
> sudo service nginx reload
> sudo systemctl reload nginx
查看Nginx服务器状态
> sudo service nginx status
检查Nginx配置文件语法合规
> nginx -t
云服务器部署
禁用防火墙
sudo ufw disable sudo systemctl stop iptables sudo systemctl stop firewalld
修改Nginx监听端口为内网端口
需要知道服务器对应的"内网-外网转发端口映射关系" 比如内网是8800, 对应外网是16120 那么, Nginx中配置的监听端口为内网的8800 外网访问时, 使用的是16120
重启Nginx & 重载Nginx配置
nginx -s reload
监听端口,查看对应的内网端口是否是0.0.0.0,即允许外部端口转发访问
ipstat
查看公网ip
curl ip.sb
访问地址:"公网ip:外网端口"
配置
Nginx demo,listen监听的是内网端口,需要以0.0.0.0暴露到外网或者端口转发才可
server {
listen 8800 default_server;
listen [::]:8800 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name 223.109.239.11;
location /api/ {
proxy_pass http://127.0.0.1:3000/api/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location / {
try_files $uri $uri/ /index.html;
}
}
转发其它内部端口,设置proxy_pass即可
server {
listen 8801 default_server;
listen [::]:8801 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name 223.109.239.11;
location / {
proxy_pass http://127.0.0.1:9997;
}
client_max_body_size 20m;
}
其它
SPA应用对路由的影响
SPA应用主要针对H5新增的历史路由,工程打包结合nginx配置,可以达到哈希路由的优点:仅提供单url入口即可实现前端页面的重绘与状态保持