记一次Ngnix配置
记一次Ngnix配置
- 配置Ngnix
- 配置防火墙
假设一个服务器中有一个公网IP、一个内网IP,另外已经部署好后台服务的接口地址为http://内网ip:8088。
配置Ngnix
找到Ngnix的配置文件,通过在Ngnix的安装路径下的 \conf\nginx.conf 文件。
worker_processes 1;
events {
worker_connections 1024;
}
http {
# 配置服务器部分
server {
listen 80; # 监听 80 端口,允许公网和内网访问
server_name localhost; # 配置本地访问
charset utf-8;
location / {
root D:\MyProject\Web\html; # HTML 文件所在的目录
index index.html index.htm; # 默认文件
try_files $uri $uri/ =404; # 尝试文件,找不到返回 404
}
location /myurl/api { # 内网后台服务的接口地址
proxy_pass http://内网IP:8088/; # 内网服务的IP和端口
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;
}
}
include mime.types;
default_type application/octet-stream;
server_tokens off; #去掉nginx版本号
client_max_body_size 200m;
# 配置日志路径和其他全局设置
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log D:/nginx/logs/access.log main;
error_log D:/nginx/logs/error.log;
sendfile on;
keepalive_timeout 65;
gzip on;#开启或关闭gzip on off
gzip_min_length 10k; #gzip压缩最小文件大小,超出进行压缩(自行调节)
gzip_buffers 4 16k; #buffer 不用修改
gzip_comp_level 5; #压缩级别:1-10,数字越大压缩的越好,时间也越长
gzip_types application/x-javascript application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/jpg image/gif image/png image/svg; #压缩文件类型
}
配置好后:
访问前端网页主页地址:http://内网IP、http://外网IP、http://内网IP:80、http://外网IP:80 ,都会根据配置文件的 location /
访问 D:\MyProject\Web\html\index.html
访问接口:http://内网IP:80/myurl/api/getXXXX、http://外网IP:80/myurl/api/getXXXX,都会根据配置文件的 location /myurl/api
调用后台服务的 http://内网IP:8088/getXXXX
接口
配置防火墙
完成上面Ngnix的配置后,还需要配置防火墙,开放80端口的TCP访问,才可以在公网上访问该服务器配置的网址。
确保 Windows 防火墙允许访问 80 端口(用于 HTTP 服务)。在 Windows 防火墙中添加允许 80 端口的规则。
- 打开 控制面板 > Windows 防火墙 > 高级设置 > 入站规则。
- 创建一个新的入站规则,允许 TCP 流量通过 80 端口。