一个域名默认指向80端口,若是一台服务器只有一个80端口,可以基于nginx的代理,实现根据域名分发到本机其他端口。实现一台服务器多个域名。
本机若是没有nginx,使用apt-get install nginx安装,装好后默认是nginx已经启动。可以在浏览器打开服务器ip,若是可以看到默认页面,表示成功安装。若是启动失败,检查是否有80端口已经被占用,将其停止,然后使用nginx命令就会启动nginx。
server {
listen 80;
server_name abc.defg.xyz;
location / {
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_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
上述配置可以提供一个代理,在abc.defg.xyz的dns解析指向该服务ip后,使用abc.defg.xyz访问服务器,会代理到8080端口。
与abc.defg.xyz:8080的访问效果一致。
就是增加多段这样的配置。nginx的配置文件在/etc/nginx/site-enable下面,可以加载default里面,也可以按照规范,在sites-available/目录下创建文件,在 sites-enabled/ 目录下创建软链接,实现开关。
配置好后使用nginx -t 查看配置是否有冲突,若提示successful,使用nginx -s reload重启。
nginx -s stop是停止nginx。