nginx入门

1.开始

主要更改端口、ip、代理地址、dist 包路径指向。注意语法和空格分号!!!每次修改 nginx.conf 后,建议按顺序执行:

复制代码
nginx -t
nginx -s reload

下载地址:nginx.org/en/download...

2.nginx配置

nginx 复制代码
server {
    # 访问端口
    listen       9000;
    # 服务端接口 ip
    server_name  192.168.100.100;
    underscores_in_headers on;

    # 状态监测与评价-前端
    location /web {
        # 打包后的 dist 文件包存放路径
        alias /var/www/html/dist;
        
        try_files $uri $uri/ /web/index.html;
        index index.html index.htm;
        
        # 添加缓存控制
        location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
            expires 1y;
            add_header Cache-Control "public, immutable";
        }
    }
  
    location ^~/dev-api/ {
        # 服务端接口地址
        proxy_pass http://192.168.100.100:8080/;
        proxy_set_header Host $proxy_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Nginx-Proxy true;
        
        # 添加超时设置
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;
    }
}
bash 复制代码
# 目录结构应该是:
html/
├── dist/
│   ├── index.html
│   ├── js/
│   ├── css/
│   └── assets/
  • 监听端口 : 9000
  • 服务器地址 : 192.168.1.200
  • 前端路径 : /web (通过 alias 指向 html/dist)
  • API 代理 : /dev-api/http://192.168.100.200:8080/
  • 浏览器访问 : http://192.168.100.200:9000/web

3.nginx 常见命令(当前 nginx 路径下执行)

bash 复制代码
# 更改配置后需要重新加载配置
nginx -s reload
# 或
systemctl reload nginx

# Nginx 是否正常运行:
netstat -tlnp | grep 9000

# 检查语法是否正常
./nginx -t
# nginx.conf syntax is ok
# nginx.conf test is successful
# 输出正常

# 或者完全重启
nginx -s stop

# nginx启动
start nginx
# 或
# 双击 nignx.exe 会出现黑色窗口一闪而过(正常现象),但不方便停止和重载配置
# 或 linux 系统启动
sudo systemctl start nginx

# 查看运行状态
sudo systemctl status nginx

快速测试

bash 复制代码
# 在 dist 文件夹下创建一个 test.html 文件
echo "<h1>Test Page</h1>" > /usr/local/nginx/html/dist/test.html

# 访问浏览器:http://192.168.1000.200:9000/web/test.html 是否能访问到
相关推荐
丷丩7 小时前
MapLibre GL JS第11课:获取鼠标指针坐标
前端·javascript·gis·地图·mapbox·maplibre gl js
代码AI弗森8 小时前
前端周刊第 467 期[特殊字符] 本期精选目录
前端
随便的名字8 小时前
前端路由的底层逻辑:URL 中 # 和 ? 的区别与关系详解
前端
kongba0078 小时前
ttyd Web终端安装指南(OpenCloudOS 9)
linux·前端
zhoumeina998 小时前
前端串行合成流程 + 每张图上传接口
前端·状态模式
linmengmeng_13148 小时前
【总结】Docker 容器重建后 Nginx 502 问题排查与解决
nginx·docker·容器
风骏时光牛马8 小时前
Swift 基于MVVM架构实现完整列表数据展示与交互功能实战案例
前端
就叫_这个吧8 小时前
JavaScript基础数据类型、运算符、数组、函数的定义及DOM方式应用
开发语言·前端·javascript
作业逆流成河8 小时前
别再一次性重构枚举了:如何把一个真实后台项目的状态字典,渐进式迁移到enum-plus?
前端·javascript·开源
暗不需求8 小时前
React 性能优化秘籍:深入理解 `useMemo` 与 `useCallback`
前端·react.js·面试