nginx转发80端口到1313

Abstract:解决hugo的网页端访问问题,浏览器输入网址默认使用80端口,而hugo服务器默认使用1313端口,所以采用nginx来进行端口的转发服务。访问时就可以不用输入端口号。

1.配置nginx设置

创建hugo的nginx配置 touch /etc/nginx/sites-available/hugo 在其中添加内容,主要是端口的转发

vim /etc/nginx/sites-available/hugo

server {
    listen 80;
    server_name zzz.com; #这里写服务器域名,或者ip地址

    location / {
        proxy_pass http://127.0.0.1:1313;
        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;
    }
}

注意一下nginx默认提供的服务:

sudo ls -la /etc/nginx/sites-enabled/
total 8
drwxr-xr-x 2 root root 4096 Dec 24 13:40 .
drwxr-xr-x 8 root root 4096 Dec 24 13:34 ..
lrwxrwxrwx 1 root root   34 Dec 24 13:34 default -> /etc/nginx/sites-available/default
lrwxrwxrwx 1 root root   31 Dec 24 13:40 hugo -> /etc/nginx/sites-available/hugo

一般会默认提供default作为nginx配置,所以需要删除这个文件,或者rename,我直接删除:

sudo ls -la /etc/nginx/sites-enabled/
total 8
drwxr-xr-x 2 root root 4096 Dec 26 10:03 .
drwxr-xr-x 8 root root 4096 Dec 24 13:34 ..
lrwxrwxrwx 1 root root   31 Dec 24 13:40 hugo -> /etc/nginx/sites-available/hugo

2.启动nginx配置

启动之前还是要查看一下nginx的配置(之前在删除的时候,不知道为什么hugo的设置也清空了):cat /etc/nginx/sites-available/hugo

依次执行以下指令:

# 检查nginx状态
sudo nginx -t  
# 重新加载nginx配置
sudo systemctl reload nginx
# 重启nginx服务
sudo systemctl restart nginx
# 查看服务器状态
sudo systemctl status nginx

一些debug指令

# 监听80端口
sudo ss -tulpn | grep :80
# 监听1313端口
sudo ss -tulpn | grep :1313

3.启动hugo server

指令:

hugo server --bind=0.0.0.0 --port=1313

加port是因为有一定概率他会默认分配到其他端口,bind是允许所有的ip进行访问,可以根据后面的ip掩码来调整。

然后就可以访问网页了。


Last modified on 2025-12-26