安装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等端口。