青春纸盒子

文: 芦苇

你喜欢我笑的样子

我靠上了落寞的窗子

晚风吹起了我的袖子

明月沾湿了你的眸子


转身,你走出了两个人的圈子

树影婆娑,整座院子


挽起袖子

回头,把揽你忧伤一地的影子

装进,青春,这纸盒子


更多代码请关注我的微信小程序: "ecoder"

luwei0915

导航

十二.虚拟Web主机

***********************
修改apache默认的网页文件存放位置
]# mkdir /var/www/myweb
]# echo "I am MyWeb" > /var/www/myweb/index.html
]# vim /etc/httpd/conf/httpd.conf
DocumentRoot  "/var/www/myweb"
]# systemctl restart httpd
]# firefox 172.25.0.11
***********************
  作用:一台服务器可以提供多个Web站点
  一旦使用虚拟web主机功能,所有的站点都必须用虚拟web主机来实现

• 区分方式
– 基于域名的虚拟主机
– 基于端口的虚拟主机
– 基于IP地址的虚拟主机

• 为每个虚拟站点添加配置
  ServerName 此站点的DNS名称
  DocumentRoot 此站点的网页根目录

• 配置文件路径
– /etc/httpd/conf/httpd.conf  (主配置文件)
– /etc/httpd/conf.d/*.conf (调用配置文件)

目标
webapp0.example.com -> 企鹅
www0.example.com    -> MyWeb
server0.example.com -> 百度

虚拟机Server0:
1.创建配置文件:
]# vim /etc/httpd/conf.d/nsd01.conf
<.VirtualHost  *:80>
    ServerName webapp0.example.com
    DocumentRoot /var/www/qq
<./VirtualHost>

<.VirtualHost  *:80>
    ServerName www0.example.com
    DocumentRoot /var/www/myweb
<./VirtualHost>

<.VirtualHost  *:80>
    ServerName server0.example.com
    DocumentRoot /var/www/baidu
<./VirtualHost>

可以添加访问规则:
<.Directory  "/webroot">
    Require all granted
<./Directory>

<.Directory  "/webroot/private">
    Require ip 127.0.0.1  ::1  172.25.0.11
<./Directory>
2.创建对应网页文件夹
]# mkdir /var/www/qq  /var/www/baidu /var/www/myweb
]# echo '企鹅' > /var/www/qq/index.html
]# echo '百度' > /var/www/baidu/index.html
]# echo 'MyWeb' > /var/www/qq/index.html
]# systemctl restart httpd
3.访问:
]# firefox www0.example.com
]# firefox webapp0.example.com
]# firefox server0.example.com

************************

访问控制:
只允许172.25.0.11访问server0.example.com站点的/var/www/myweb/private目录的网页
 <.VirtualHost  *:80>
    ServerName www0.example.com
    DocumentRoot /var/www/myweb
<./VirtualHost>

]# mkdir /var/www/myweb/private
]# echo "I am private" > /var/www/myweb/private/index.html
]# vim /etc/httpd/conf.d/nsd01.conf
增加这段:
<.Directory  "/webroot/private">
    Require ip 127.0.0.1  ::1  172.25.0.11
<./Directory>
]# systemctl restart httpd

不同主机访问测试:
]# firefox server0.example.com/private

**************************

自定Web根目录
调整 Web 站点 http://server0.example.com 的网页
目录,要求如下: /webroot,作为此站点新的网页文件目录
]# mkdir /webroot
]# echo 'wo shi webroot' > /webroot/index.html
]# vim /etc/httpd/conf.d/nsd01.conf
...
<.VirtualHost  *:80>
    ServerName server0.example.com
    DocumentRoot  /webroot
<./VirtualHost>
...
]# systemctl restart httpd

SELinux的安全上下文(标签)
]# ls -Zd /var/www/  #查看安全上下文值
]# ls -Zd /webroot
]# chcon -R --reference=/var/www /webroot/
]# ls -Zd /webroot/
]# firefox server0.example.com #验证
**************************
部署动态网站

     LAMP:Linux  Apache  MariaDB/MySQL php/Python
     LNMP:Linux  Nginx  MariaDB/MySQL php/Python

静态网站的运行
• 服务端的原始网页 = 浏览器访问到的网页
– 由Web服务软件处理所有请求
– 文本(txt/html)、图片(jpg/png)等静态资源

动态网站的运行
• 服务端的原始网页 ≠ 浏览器访问到的网页
– 由Web服务软件接受请求,动态程序转后端模块处理
– PHP网页、Python网页、JSP网页......

为站点 webapp0.example.com 配置提供动态Web内容:
<.VirtualHost  *:80>
    ServerName server0.example.com
    DocumentRoot /var/www/baidu
<./VirtualHost>

1.下载动态页面到指定目录:
/var/www/baidu/webinfo.wsgi
]# ls
index.html  webinfo.wsgi
2.修改配置文件
]# vim /etc/httpd/conf.d/nsd01.conf
<.VirtualHost *:80>
     ServerName webapp0.example.com
     DocumentRoot /var/www/baidu
     Alias /  /var/www/baidu/webinfo.wsgi
<./VirtualHost>
当用户访问到网页文件根目录时,进行跳转到webinfo.wsgi
3.重启查看:
]# systemctl restart httpd
]# firefox webapp0.example.com(看到的是源码)
4.安装mod_wsgi软件,专用于Python页面代码翻译
]# yum -y install mod_wsgi
5.修改配置文件
]# vim /etc/httpd/conf.d/nsd01.conf
<.VirtualHost *:80>
     ServerName webapp0.example.com
     DocumentRoot /var/www/baidu
     WSGIScriptAlias /  /var/www/baidu/webinfo.wsgi
<./VirtualHost>
]# systemctl restart httpd
]# firefox webapp0.example.com
6.此虚拟主机侦听在端口8909
Listen 8909
<.VirtualHost *:8909>
     ServerName webapp0.example.com
     DocumentRoot /var/www/baidu
     WSGIScriptAlias /  /var/www/baidu/webinfo.wsgi
<./VirtualHost>
SELinux非默认端口的开放:
]# semanage port -l | grep http  #查看http允许开放端口(有8909)
]# semanage port -a -t http_port_t -p tcp 8909
   -a:添加   -t:类型   -p:协议
]# systemctl restart httpd
7.验证
]# firefox webapp0.example.com:8909
********************************

posted on 2019-03-06 11:09  芦苇の  阅读(193)  评论(0编辑  收藏  举报