怎么在linux ubuntu 上的nginx 绑定域名

时间:2023-03-08 22:16:35
怎么在linux ubuntu 上的nginx 绑定域名

前一篇介绍了,如果在ubuntu上运行nodejs,毕竟访问的时候都是用ip地址+端口号,但是上production 环境都需要域名的,IP地址当然不行

读过上一篇的朋友知道了,如果在upstart 或者 systemd中运行 nodejs. 但是upstart是一个job,systemd是一个service,他们都无法绑定域名,前一篇都分别给他们建立了二个实例。这样可以做负载,而且当一个实例坏掉了可以马上切换。好了,现在需要绑定域名,这个时候我们可以nginx ,轻松达到。

登陆到你的云服务器

怎么在linux ubuntu 上的nginx 绑定域名

登陆了之后,我们需要网点部署到nginx上面,前面一篇2文章提到,我们建立了2个实例,一个是5000端口,一个是5001端口,用nginx 可以做负载。

准备configuration

upstream node_server {
server 127.0.0.1: fail_timeout=;
server 127.0.0.1: fail_timeout=;
server 127.0.0.1: fail_timeout=;
} server {
listen ;
listen [::]: default_server; index index.html index.htm; server_name www.abc.com; location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_buffering off;
proxy_pass http://node_server;
} location /public/ {
root /opt/app;
}
}

我们一般都需要把端口号设置成80的,server_name 就是我们需要设置的域名 (如 www.abc.com),根据你自己的实际进行配置,上面三个节点3000,5000和5001都是upstart上的实例,可以做负载均衡和错误转移
将上面的配置文件内容放入/etc/nginx/sites-available/node-app 文件中,然后在linux shell 中运行命令:

sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/node-app /etc/nginx/sites-enabled/node-app
sudo /etc/init.d/nginx restart

删除默认的配置,用上面的配置文件代替。然后用restart启动服务nginx,运行正常,大功告成!