前述
在这章中我会着重讲述Nginx配置方向代理的方式、子域名的解析、如何在新版宝塔面板上配置代理规则
什么是子域名
在我们购买域名后,例如:sakurachi.cn,我们就可以在域名对应ip的80端口部署相应的项目,这样我们下次访问就可以通过域名直接访问项目,而不用输入繁琐的ip地址。
可是 我们的域名只有一个,默认为80端口,如果想在这个域名中部署多个项目,就需要在域名后+端口号,例如sakurachi.cn:3002,sakurachi.cn:3001,如此繁琐,违背了我们注册域名的初衷!
所以,我们可以采用在根域名下创建多个子域名部署多个项目,例如,上方的sakurachi.cn:3002使用子域名:home.sakurachi.cn,而3001端口则采取另外的子域名。
我们在服务上购买了根域名后,它所下属的子域名都归属权都是我们,所以请放心大胆用!
怎么配置子域名?
配置子域名的前提是我们需要拥有它的上一级域名,所以需要到服务上购买域名,常见得域名服务商有阿里,腾讯,他们都经常做活动,域名也挺便宜,根据顶级域名的不同,价格也不同。
在这里我就不多介绍域名的购买,只着重讲述怎么配置子域名。如果不知道怎么购买域名和域名解析,可以查看其他攻略,或者私信我再出一期购买域名教学。
在服务商配置域名解析DNS
以腾讯为例:以下是我自己购买的网站域名,再此解析
想要让互联网知道这个域名或子域名是属于哪个ip,就一定要在域名解析商那里配置相应的解析,否则nginx不管怎么配置,都是没有办法解析到这个子域名的
在服务器的Nginx的配置文件中修改相应的配置规则
我们打开Linux的文件系统中找到Nginx的配置文件,
如果不知道配置文件在哪里,可以在命令行中输入:
在文件系统中查找
sudo find / -name nginx.conf
拿到配置文件的位置后,打开文件,编辑:
找到http块,在其下方写入server块:
http{ server { listen 80; server_name 你的子域名; location / { proxy_pass http://127.0.0.1:你项目的的端口; 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; } }}
在server_name中配置:你在服务商解析的子域名
在proxy_pass 中配置:你需要跳转的位置,如果跳转位置就在本机,则用127.0.0.1:+端口号,若不是,则填写对应的IP地址:+端口号
然后保存文件,关闭。
重启Nginx服务
systemctl restart nginx
如果重启报错,将报错粘贴到百度,会有另外的同行大佬教如何重启,再此我不多赘述
在宝塔面板中配置Nginx
我不是Linux大佬,作为蒟蒻的我,选择使用宝塔面板配置反向代理:
首先打开宝塔页面
点击添加反代
在域名位置输入你在dns商那里解析的子域名,在目标URL填写你要跳转的ip+端口
如下图:
配置完就可以了,等待一小段时间,等待宝塔配置和nds服务商刷新dns解析,就能成功打开你的页面了