快速上手 Apache,java 递归求阶乘原理
AllowOverride all
authuserfile "/etc/httpd/passwd" #这个地方是保存密码的地方
authname "January February Martch April May " #这个是网站站点的名字
authtype basic
require user Jack # 个人主页的用户
</Directory>
systemctl restart httpd #重启 httpd 服务
6.登录 127.0.0.1/~Jack 时会发现要输入用户和密码才能登录而且可以看到 public/index.html 网页里面的内容
[](
)三:Apache 的虚拟主机
功能是服务器基于用户请求的不同 IP 地址、主机域名或端口号,实现提供多个网站同时为外部提供访问服务 的技术
1.基于 IP
如果一台服务器有多个 IP 地址,而且每个 IP 地址与服务器上部署的每个网站一一对应,这样当用户请求访问不同的 IP 地址时,会访问到不同网站的页面资源
给网卡设置 3 个 IP
[root@linux ~]# vim /etc/sysconfig/network-scripts/ifcfig-ens32
IPADDR=192.168.10.10
PREFIX=24
IPADDR1=192.168.10.10
PREFIX1=24
IPADDR2=192.168.10.10
PREFIX2=24
重启网络
[root@linux ~]# systemctl restart network
创建网站数据文件并写入内容
[root@linux ~]# mkdir -p /home/wwwroot/10
[root@linux ~]# mkdir -p /home/wwwroot/20
[root@linux ~]# mkdir -p /home/wwwroot/30
[root@linux ~]# echo "10" > /home/wwwroot/10/index.html
[root@linux ~]# echo "20" > /home/wwwroot/20/index.html
[root@linux ~]# echo "30" > /home/wwwroot/30/index.html
在配置文件中搜素 DocumentRoot 在下方添加
[root@linux ~]# vim /etc/httpd/conf/httpd.conf
<VirtualHost 192.168.10.10>
DocumentRoot "/var/www/html/10"
<Directory "/var/www/html/10">
AllowOverride None
Allow open access:
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.10.20>
DocumentRoot "/var/www/html/20"
<Directory "/var/www/html/20">
AllowOverride None
Allow open access:
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.10.30>
DocumentRoot "/var/www/html/30"
<Directory "/var/www/html/30">
AllowOverride None
Allow open access:
Require all granted
</Directory>
</VirtualHost>
这样分别访问添加的 IP(192.168.10.10,20,30)就可以看到不同的结果了
注意在 Centos 图形化界面用 firefox 访问
2.基于域名
[root@linux ~]# vim /etc/hosts
192.168.10.10 www.baidu.com ccv.baidu.com zms.baidu.com
[root@linux ~]# vim /etc/httpd/conf/httpd.conf
<VirtualHost 192.168.10.10>
DocumentRoot "/var/www/html/10"
ServerName "www.baidu.com"
<Directory "/var/www/html/10">
AllowOverride None
Allow open access:
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.10.10>
DocumentRoot "/var/www/html/10"
ServerName "ccv.baidu.com"
<Directory "/var/www/html/10">
AllowOverride None
Allow open access:
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.10.10>
DocumentRoot "/var/www/html/10"
ServerName "zms.baidu.com"
<Directory "/var/www/html/10">
AllowOverride None
Allow open access:
Require all granted
</Directory>
</VirtualHost>
重启 httpd 服务
[root@linux ~]#systemctl restart httpd
访问不同的域名(www.baidu.com,zms.baidu.com,ccv.baidu.com)可以看到不同的内容,内容来自于/var/www/html/10,20,30
同样是在 GUI 界面访问。
3.基于端口
配置基于端口的实验需要设置 selinux,因为 selinux 默认允许的端口没有我们要设置的端口,所以需要我们手动进行添加。
[root@linux ~]# semanage port -l |grep http # 这一步是查看 selinux 默认允许的端口
http_cache_port_t tcp 8080, 8118, 8123, 10001-10010
http_cache_port_t udp 3130
http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t tcp 5988
pegasus_https_port_t tcp 5989
添加端口 12,13,14
[root@linux ~]# semanage port -a http_port_t -p tcp 12
[root@linux ~]# semanage port -a http_port_t -p tcp 13
[root@linux ~]# semanage port -a http_port_t -p tcp 14
再次查看端口号
[root@linux ~]# semanage port -l |grep http # 我添加的是 12,13,14 端口
http_cache_port_t tcp 8080, 8118, 8123, 10001-10010
http_cache_port_t udp 3130
http_port_t tcp 14, 13, 12, 80, 81, 443, 488, 8008, 8009, 8443, 9
000
pegasus_http_port_t tcp 5988
pegasus_https_port_t tcp 5989
OK,设置完 selinux 我们回去继续编辑主配置文件,但是要多加几行直接在编辑模式下输入/Listen,在下面添加端口
[root@linux ~]# vim /etc/httpd/conf/httpd.conf
Listen 12
Listen 13
Listen 14
还是老位置添加虚拟主机加上 IP 和端口号
<VirtualHost 192.168.10.10:12>
DocumentRoot "/var/www/html/10"
ServerName "www.baidu.com" # 可有可无
<Directory "/var/www/html/10">
AllowOverride None
Allow open access:
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.10.10:13>
DocumentRoot "/var/www/html/20"
ServerName "ccv.baidu.com" # 可有可无
<Directory "/var/www/html/20">
AllowOverride None
Allow open access:
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.10.10:14>
DocumentRoot "/var/www/html/30"
ServerName "zms.baidu.com" # 可有可无
<Directory "/var/www/html/30">
AllowOverride None
Allow open access:
Require all granted
评论