我们在互联网上输入一个域名就能访问别人的项目,这是为啥呢?这里详细介绍下域名解析和Nginx的方向代理
- 既然提到了域名,那什么是域名?
- 这里的.cn是一级域名,zheng-cf就是二级域名,www就是三级域名,三级域名往上就是免费的了,当然你没有一二级域名哪来的三级域名。
- 我们使用域名可以访问一个人的网站,使用ip地址加端口号也能访问一个人的网站,其实你使用域名访问,也是使用IP地址进行访问,这里就涉及到域名解析了。
- 当我们有了一个服务器,它可以抽象成ip地址,和一个域名,这时就可以通过域名解析使用户通过域名访问也能访问到我们的服务器,这里以腾讯云为例配置域名解析
- 查看自己的域名
- 配置域名解析的规则
- 添加完成就可以配置解析规则了
- 这样我们的域名解析就完成了,不过域名解析是需要时间的,等待着域名供应商配置解析规则。一般24小时,检查域名解析是否配置成功,只需要在doc窗口下ping一下我们的域名,这就代表着,解析已经生效,那么我们就可以在浏览器上输入我们的域名进入我们的服务器
- 域名解析配置完成,但是有没有想过,我们在浏览器地址栏中只是输入的使我们的域名,并没有输入端口号,为啥就能访问一个服务器中不同的项目呢?这里使用的就是Nginx反向代理技术了
- 安装Nginx,这里因为自己的云服务器上已经安装过了Nginx,只能在我的虚拟机上玩,启动虚拟机
- 使用rpm命令添加nginx源,-u是在下载的时候执行更新,-v显示指令执行过程,-h列出标记
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
- 添加源之后就可以,就可以根据源来安装nginx
sudo yum install -y nginx
这里只进行部分截图
- 安装完成之后记得启动nginx
sudo systemctl start nginx.service
- 最好是设置成开机自启动
sudo systemctl enable nginx.service
- 这里安装完成之后,默认nginx的配置文件放在了/etc/nginx目录下,使用cd命令进入到指定文件夹
# 进入到指定的文件夹
cd /etc/nginx
# 使用ll命令查看当前文件夹下的子文件或文件夹
ll
- 这里修改配置文件需要到conf.d文件夹中添加自己的配置文件或者到default.conf中修改配置,这里演示添加自己的配置文件,首先使用touch命令创建文件,这里的配置文件一定要以.conf结尾
touch test.conf
- 使用vim编辑test.conf
vim test.conf
- 将下方的内容写到文件中
server {
# 监听80端口,一般不用改
listen 80;
# 将这里的example换成自己的域名
server_name example.com www.example.com;
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 这里的http后面的url就是你访问你上方的域名代理的地址
proxy_pass http://127.0.0.1:8090/;
}
}
- 使用wq命令保存当前文件
- 检查一下我们的配置文件是否有书写错误
nginx -t
- 最后只需要重新加载一下nginx就大功告成
nginx -s reload