1.使用域名访问本地项目
我们将使用以下域名:
主域名:www.leyou.com
管理系统域名:manage.leyou.com
网关域名:api.leyou.com
最终,这些域名指向的还是我们本机的某个端口。
1.1域名解析
一个域名一定会被解析为一个或多个ip。一般包含两步:
- 本地域名解析
浏览器会首先在本机的hosts文件中查找域名映射的ip地址,如果查找到就返回ip,没找到则进行域名服务器解析。
Linux下的hosts文件:/etc/hosts - 域名服务器解析
本地解析失败,才会进行域名服务器解析,域名服务器就是网络中的一台计算机,里面记录了所有注册备案的域名和ip映射关系,一般只要域名是正确的,而且备案通过,一定能找到。
使用SwithHostst工具
这样,使用www.leyou.com:9001才能访问。因此我们就要解决端口问题,使得他直接域名就可以访问了。
1.2nginx解决端口问题
1.2.1什么是nginx
高性能web和反向代理服务器。
1.2.2web服务器
web服务分2类:
-
web应用服务器
tomcat
resin
jetty -
web服务器
apache服务器
nginx
IIS
区分:web服务器不能解析jsp等页面,只能处理js、css、html等静态资源。
并发:web服务器的并发能力远高于web应用服务器。
nginx+tomcat
1.2.3nginx作为反向代理
什么是反向代理?
- 代理:通过客户机的配置,实现让一台服务器代理客户端。客户端的所有请求交给代理服务器处理。
- 反向代理:用一台服务器,代理真实服务器,用户访问时,不再是访问真实服务器,而是代理服务器。
nginx可以当做反向代理服务器来使用: - 我们需要提前在nginx中配置好反向代理的规则,不同的请求,交给不同的真实服务器处理
- 当请求到达nginx,nginx会根据已经定义的规则进行请求的转发,从而实现路由功能。
安装在主机:
安装在虚机:
1.2.4linux安装ftp服务
安装包
yum -y install vsftpd
修改配置文件:
vi /etc/vsftpd/vsftpd.conf
保证下面3项为YES
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
默认情况下vsftp是不允许root用户登录的。
将root注释掉
将 /etc/selinux/config 中的enforcing 模式改为disabled, 然后重启
设置vsftpd开机启动
systemctl start vsftpd.service
systemctl status vsftpd.service
上传并解压nginx
配置
进入nginx目录
–prefix:安装目录
–sbin-path:脚本文件放到该目录下
./configure --prefic=/opt/nginx --sbin-path=/usr/bin/nginx
这里指安装的目录在/opt/nginx下
若配置失败,安装需要的包
yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++
yum -y install pcre-devel
yum -y install openssl openssl-devel
若配置成功, 编译安装
make && make install
启动
nginx:启动
nginx -s stop:停止
nginx -s reload:重新加载
master process nginx:主进程,起监控和管理作用。
worker pricess:真正去处理用户的请求。
测试
1.2.5配置多域名访问
在安装目录下/opt/nginx/config中的nginx.conf文件中添加:
server {
listen 80;
server_name manage.leyou.com;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
#代理转发到该地址
proxy_pass http://192.168.188.108:9001 ;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
}
server {
listen 80;
server_name api.leyou.com;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://192.168.188.108:10010;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
}
重启
nginx -s reload
配置host文件
192.168.188.114 www.leyou.com
192.168.188.114 manage.leyou.com
192.168.188.114 api.leyou.com
修改项目配置
将localhost修改为0.0.0.0,即任何ip都可以访问。
域名访问测试
要注意:linux要关闭防火墙。