主页

nginx 无域名部署,直接使用ip访问

2026-04-08 07:36PM

我有一个项目,前端使用的是 react,后端使用的是 go,我的 yarn build 文件在 /tmp 文件夹下存放(注意:要记得给build文件增加权限,不然会导致页面 403 Forbidden),go 启动的端口是 8000

我想要在服务器上面部署,直接使用 ip 访问,下面是 nginx 实现的具体步骤:

1. 打开 /etc/nginx/sites-available/default 文件

$ sudo vim /etc/nginx/sites-available/default

2. 在文件里面实现

server {
    listen 80;
    server_name _;

    # 前端目录
    root /tmp/build;
    index index.html;

    # React 路由支持(非常关键)
    location / {
        try_files $uri /index.html;
    }

    # 后端接口代理
    location /api/ {
        proxy_pass http://127.0.0.1:8000/;
        proxy_http_version 1.1;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

3. 启动/重启 nginx

$ sudo nginx -t
$ sudo systemctl restart nginx

这样就可以了。

注意:

你的 Go 服务必须是:http.ListenAndServe(":8000", nil)

或者 Docker:docker run -d -p 8000:8000 xxx

前端请求必须这样写:fetch("/api/xxx")

不要写:fetch("http://localhost:8000/api/xxx")

否则线上直接炸~

 

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论