构建虚拟web主机
虚拟web主机指的是在同一台服务器中运行多个web站点,而且每一个站点不独占整个服务器。通过虚拟web主机服务充分利用服务器的硬件资源。
服务支持的虚拟主机类型有:
基于域名:为每个虚拟主机使用不同的域名,但其对应的ip地址是相同的。
基于IP地址:为每个虚拟主机使用不同的域名,且各自对应的IP地址也不行同。
基于端口:使用不同的TCP端口号来访问
基于域名的虚拟主机
1.为虚拟主机提供域名解析
在/etc/hosts 文件中临时配置域名与IP地址的映射关系
echo “192.168.226.50 www.benet.com” >> /etc/hosts
echo “192.168.226.50 www.accp.com” >> /etc/hosts
2.为虚拟主机准备网页文档
mkdir -p /var/www/html/benet
mkdir -p /var/www/html/accp
echo “www.benet.com” >>/var/www/html/benet/index.html
echo “www.accp.com” >>/var/www/html/accp/index.html
3.添加虚拟主机配置
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost 192.168.226.50:80>
#ServerAdmin webmaster@dummy-host.example.com
DocumentRoot “/var/www/html/benet”
ServerName www.benet.com
#ServerAlias www.dummy-host.example.com
ErrorLog “logs/benet.com-error_log”
CustomLog “logs/benet.com-access_log” common
</VirtualHost>
<VirtualHost 192.168.226.50:80>
DocumentRoot “/var/www/html/accp”
ServerName www.accp.com
ErrorLog “logs/accp.com-error_log”
CustomLog “logs/accp.com-access_log” common
</VirtualHost>
4.设置访问控制
<Directory “/var/www/html”> #设置目录访问权限
Options None #不启用任何的服务器特性
AllowOverride None 不允许重Apache默认配置
Require all granted #允许所有主机访问
</Directory>
5.加载独立的配置文件
vim /usr/local/httpd/conf/httpd.conf
–483行–取消注释
Include conf/extra/httpd-vhosts.conf #加载独立的配置文件
systemctl restart httpd
6.在客户机中访问虚拟 Web 主机
http://www.benet.com
http://www.accp.com
基于ip地址的虚拟主机
我们需要加上一个虚拟网卡设置IP地址
ifconfig ens33:0 192.168.226.100 netmask 255.255.255.0
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost 192.168.226.50:80>
DocumentRoot “/var/www/html/benet”
ServerName www.benet.com
ErrorLog “logs/benet.com-error_log”
CustomLog “logs/benet.com-access_log” common
<VirtualHost 192.168.226.100:80>
DocumentRoot “/var/www/html/accp”
ServerName www.accp.com
ErrorLog “logs/accp.com-error_log”
CustomLog “logs/accp.com-access_log” common
</VirtualHost>
<Directory “/var/www/html”>
Options None
AllowOverride None
Require all granted
</Directory>
vim /usr/local/httpd/conf/httpd.conf
–53行–插入
Listen 192.198.80.100:80
systemctl restart httpd
在客户机中浏览器访问虚拟 Web 主机
http://192.168.80.10
http://192.168.80.100
基于端口的虚拟主机
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost 192.168.80.10:80>
DocumentRoot “/var/www/html/benet”
ServerName www.benet.com
ErrorLog “logs/benet.com-error_log”
CustomLog “logs/benet.com-access_log” common
</VirtualHost>
<VirtualHost 192.168.80.10:8080>
DocumentRoot “/var/www/html/accp”
ServerName www.accp.com
ErrorLog “logs/accp.com-error_log”
CustomLog “logs/accp.com-access_log” common
</VirtualHost>
<Directory “/var/www/html”>
Options None
AllowOverride None
Require all granted
</Directory>
vim /usr/local/httpd/conf/httpd.conf
–53行–插入
Listen 192.198.80.10:8080
systemctl restart httpd
在客户机中浏览器访问虚拟 Web 主机
http://192.168.80.10:80
http://192.168.80.10:8080
构建wbe虚拟目录与用户授权限制
1.创建用户认证数据文件
cd /usr/local/httpd/bin
./htpasswd -c /usr/local/httpd/conf/user zhangsan
./htpasswd /usr/local/httpd/conf/user lisi
2.添加用户授权配置
vim /usr/local/httpd/conf/httpd.conf
添加
Alias /test /var/www/html/test
<Directory “/var/www/html/test”>
AuthName “Hello!”
AuthType Basic
AuthUserFile /usr/local/httpd/conf/user
Require valid-user
</Directory>
3.验证用户访问授权
mkdir -p /var/www/html/test
echo “this is vdir test” >>/var/www/html/test/index.html
systemctl restart httpd
在客户机中浏览器访问
http://192.168.80.10:80/test
部署AWStats分析系统
1.将安装AWStats 所需软件包传到/opt目录下
awstats-7.6.tar.gz
2.安装 AWStats 软件包
cd /opt
tar zxvf awstats-7.6.tar.gz
mv /opt/awstats-7.6 /usr/local/awstats
3.为要统计的站点建立配置文件
cd /usr/local/awstats/tools
./awstats_configure.pl
…
Config file path (‘none’ to skip web server setup):
> /usr/local/httpd/conf/httpd.conf #输入httpd服务主配置文件的路径
Your web site, virtual server or profile name:
> www.kgc.com #输入要统计的站点域名
其它全部是y 或者 回车
3.修改自动生成的 awstats 访问权限,加载 CGI 模块(Apache 2.4 以上版本需要加载CGI 模块)
vim /usr/local/httpd/conf/httpd.conf
ErrorLog “logs/error_log”
CustomLog “logs/access_log” combined
…
–143行–
<IfModule !mpm_prefork_module>
LoadModule cgid_module modules/mod_cgid.so #取消注释
</IfModule>
<IfModule mpm_prefork_module>
LoadModule cgi_module modules/mod_cgi.so #取消注释
</IfModule>
…
–跳至末行修改–
<Directory “/usr/local/awstats/wwwroot”>
Options None
AllowOverride None
Require all granted
</Directory>
4.修改站点统计配置文件
vim /etc/awstats/awstats.www.kgc.com.conf
LogFile="/usr/local/httpd/logs/access_log"
DirData="/var/lib/awstats"
mkdir /var/lib/awstats
5.执行日志分析,并设置 cron 计划任务
systemctl restart httpd
cd /usr/local/awstats/tools/
./awstats_updateall.pl now
crontab -e
*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
systemctl start crond
6.访问 AWStats 分析系统站点
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
echo “192.168.226.50 www.kgc.com” >> /etc/hosts
浏览器访问
http://www.kgc.com/awstats/awstats.pl?config=www.kgc.com
安装包
链接:https://pan.baidu.com/s/1l00jB_idyUlCSq3mPTD-aw
提取码:jmik
复制这段内容后打开百度网盘手机App,操作更方便哦