首先声明:以下内容是我的个人理解,经过实践配置访问成功的案例
目的:自定义一个域名如:swoole.cn,我们通过本地浏览器访问swoole.cn,能访问到虚拟机里的网站(对应的目录文件)
步骤:
思路:浏览器中输入一个域名回车后,它会先解析域名(也就是找到对应的ip),查询过程为:
假设swoole.cn解析为ip没有缓存记录,那么浏览器就会查询本地hosts文件(C:\Windows\System32\drivers\etc),所以
192.168.116.130 swoole.cn
注:192.168.116.130是你虚拟机配置的ip,ip与域名之间有一个空格隔开;hosts文件可能会被设置为“只读”(保存无效果),可以右键文件-》属性-》常规,把下方的“只读”去掉
至此,本地浏览器访问swoole.cn就会访问到你的虚拟机,可是虚拟机接收到请求,但还不知要干嘛。所以需要安装配置Nginx
详细安装及依赖包参考:https://www.runoob.com/linux/nginx-install-setup.html
# cd /usr/local/nginx/sbin
# ./nginx -v:查看版本
# ./nginx -t:检查配置文件nginx.conf的正确性。(我这里并没有按着网上搜的配置nginx.conf,也是能检测正确的)
# ./nginx:开启Nginx
附:
# ./nginx -s reload:重新载入配置文件
# ./nginx -s reopen:重启Nginx
# ./nginx -s stop:停止Nginx
# firewall-cmd --permanent --add-service=http
这时访问ip就会显示Nginx的欢迎页面,恭喜你安装成功!!
但是,想通过域名访问的话,还需要以下的配置
127.0.0.1 swoole.cn
这就告诉虚拟机,当有swoole.cn这个域名请求的话,就是找你(自己)
include vhost/*.conf;
意思是,/usr/local/nginx/conf/vhost下面的所有以.conf结尾的文件都会加载,这样我们就可以把所有虚拟主机配置文件放到vhost目录下面
# cd /usr/local/nginx/conf/vhosts:
# touch vhosts.conf:新建vhosts.conf,文件名可自定义,一般为域名,我这里取vhosts.conf
# vim vhosts.conf
按“i”转为编辑模式,插入
server {
listen 80;// 端口
server_name swoole.cn;// 自定义的域名
root "/www/swoole_mooc";// 网站目录
index index.html index.htm index.php;// 默认访问文件
}
按“:”转为命令模式,输入wq,保存退出
# cd /usr/local/nginx/sbin
# ./nginx -s reload:重新加载配置文件
最后就可以通过域名访问到虚拟机部署的网站,以及所指定的目录文件了!!