安装nginx

apt-get install -y nginx

如果希望直接使用ip访问(即直接使用80端口),需要删除默认文件。不使用80端口、有域名、使用https等其他方式则跳过此步(不用删除)。

rm /etc/nginx/sites-enabled/default  # 删除默认80端口配置

1. http方式

编辑配置文件 /etc/nginx/conf.d/http.conf:

server {
        listen 80;
        server_name lduoj.com;  # 请替换为你的域名

        client_max_body_size 40m;  # 请求体上限

        location / {
            proxy_pass http://127.0.0.1:8080/;  # 代理web端口
            proxy_redirect  off;
            proxy_set_header  Host  $host;  # 监听非80端口时,填写$host:$server_port
            proxy_set_header  X-Real-IP  $remote_addr;
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        }

}

2. https方式

编辑配置文件 /etc/nginx/conf.d/lduoj_https.conf:

server{
        listen 80;
        server_name lduoj.com;
        rewrite ^(.*)$  https://$host$1 permanent;  # http转https
}

server {
        listen 443 ssl http2;
        server_name lduoj.com;  # 请替换为你的域名

        client_max_body_size 40m;  # 请求体上限

        # ssl的一些配置
        ssl_certificate conf.d/fullchain.crt;   # 请务必替换成你的ssl证书路径
        ssl_certificate_key conf.d/private.pem; # 请务必替换成你的ssl证书路径
        ssl_protocols TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;

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

然后执行 service nginx restart

如果重启报错或无法访问,请尝试在云服务器官网控制台安全组中,为该端口添加入方向的规则。注意,有些云服务商,如天翼云,未备案时禁用80/443/8080等端口。