下载并启动
下载地址:http://nginx.org/en/download.html
双击即可启动
测试启动:http://localhost/
部署网站
添加该条配置即可
server {
listen 8088;
server_name 名字;
location / {
root 文件目录;
index index.html index.htm;
}
}
关闭、开始、重启
在cmd下操作,进入目录路径
nginx -s stop; // 停止
nginx -s quit // 有序停止
nginx -s reload // 重启
Vue404重定向配置
server {
listen 80;
server_name www.xxx.com;
location / {
index /data/dist/index.html;
try_files $uri $uri/ /index.html;
}
}
配置域名转发
location /api/ {
proxy_pass http://backend-api-server/; //配置转发地址,这个地址也可以是本地部署的网站
proxy_set_header Host $host; // 配置转发请求头
proxy_set_header X-Real-IP $remote_addr; // 配置转发请求头
}
配置二级域名转发
重点语法
http://backend-api-server/
location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
示例:
server {
listen 80;
server_name a.baidu.cn;
location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name b.baidu.cn;
location / {
proxy_pass http://127.0.0.1:8002;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 8001;
server_name a.baidu.cn;
location / {
root C:/nginx-web/three.js-158/examples/;
index index.html;
}
}
server {
listen 8002;
server_name b.baidu.cn;
location / {
root C:/nginx-web/Cesium-1.111/;
index index.html;
}
}
原理
每个服务都需要占用一个端口号来启动服务,监听对应的二级域名server_name,然后使用转发即可
location / {
server_name a.baidu.com;
proxy_pass http://127.0.0.1:8002;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
启用gzip
Gzip 是一种通用的文件压缩算法,用于减小文件大小以提高网络传输效率。在 Web 开发中,Gzip 压缩常用于减小静态文件(如 HTML、CSS、JavaScript 等)的大小,从而加快页面加载速度。
http {
gzip on;
gzip_comp_level 5;
gzip_types text/plain text/html text/css application/javascript image/svg+xml;
}
- gzip on 启用 Gzip 压缩功能。
- gzip_comp_level 设置压缩级别,范围从 1 到 9,数字越大压缩比越高,但同时也消耗更多的 CPU 资源。
- gzip_types 设置需要进行压缩的 MIME 类型。
负载均衡
- 定义服务器列表,用的
upstream
进行定义,upstream
是一个用于定义一组后端服务器的指令。它通常用于配置反向代理和负载均衡。upstream
指令允许你列出多个服务器,并为每个服务器指定其地址和端口。这些服务器可以是本地服务器,也可以是远程服务器。
upstream backend {
server backend1.example.com:8080;
server backend2.example.com:8080;
server backend3.example.com:8080;
}
- 配置负载均衡算法
upstream backend {
least_conn;
server backend1.example.com:8080;
server backend2.example.com:8080;
server backend3.example.com:8080;
}
least_conn
参数表示使用最少连接算法,将请求转发给连接数最少的服务器。
问题
- 转换字符串,windows下路径字符串是\,要转换成/,否则会被转义出错
- 每条语句都要加上;来结尾,否则会报错;