关于Apache:
nginx启用异步非阻塞模式。门户性网站一般用nginx。
先恢复环境:
<1>rpm -e httpd php php-mysql
<2>rm -fr /var/www/
1.apache默认发布目录/文件
<1>yum install httpd -y
<2>systemctl start httpd
<3>netstat -antlupe | grep httpd #查看apache的端口
<4>cd /var/www/html/
<5>vim index.html
<6>vim test.html
打开浏览器测试:
<7> vim /etc/httpd/conf/httpd.conf #修改端口
<8>systemctl restart httpd
<9> netstat -antlupe | grep httpd #查看端口是否修改
在浏览器里测试:(此时访问不到,必须输入 172.25.254.138:8080)
做完实验后记得把端口修改回来
2.默认路径的修改(aphache的默认路径是 /var/www/html)
<1>mkdir /westos/html -p
119 # DocumentRoot "/var/www/html" #注释掉原来的默认路径
120 DocumentRoot "/westos/html" #修改http访问根目录路径
125 <Directory "/westos"> #在/westos目录下
126 require all granted
127 DirectoryIndex index.html test.html
128 </Directory>
<6>systemctl restart httpd
<7>测试
做完实验后,记得把默认目录改回来
3.访问控制
a.基于ip的访问控制
准备工作:
<1>cd /var/www/html
<2>mkdir westos
<3>cd westos/
<4>vim index.html
<5>vim test.html
访问ip黑名单
<6>vim /etc/httpd/conf/httpd.conf #设置黑名单
<7>systemctl restart httpd
<8>在被设置为黑名单的主机上进行测试,访问被禁止
访问ip白名单
<10>在被设置为白名单的主机上进行测试,访问允许
<11>在其他主机上测试,访问失败
b.基于用户的访问控制
<1>cd /etc/httpd/
<3> cat apacheuser #查看apache用户
<4>vim /etc/httpd/conf/httpd.conf
<5>systemctl restart httpd
<6>打开浏览器进行访问,输入正确的用户和密码就可查看
4.apache的虚拟主机配置(用一个ip发布多个测试节点,使不同的域名访问不同的文件)
在虚拟机里配置文件:
<1>cd /etc/httpd
<2>cd conf.d/
<3>vim default.conf
写入:
注:apache有四种日志类型 被访问时的日志,拒绝访问的日志,警告日志,报错日志
<4>mkdir /var/www/virtual/westos.com/news -p
<5>mkdir /var/www/virtual/westos.com/music -p
<6>vim /var/www/virtual/westos.com/news/index.html
<7>vim /var/www/virtual/westos.com/music/index.html
<8>vim news.conf #子配置文件
<9>cp news.conf music.conf
<10>vim news.conf
<11>systemctl restart httpd
在真机里(测试端):
<1>vim /etc/hosts #修改本机解析
添加: 172.25.254.38 www.westos.com news.westos.com music.westos.com login.westos.com
<2>打开浏览器测试
5.制作apache证书,并指定证书
<1>yum install mod_ssl -y #下载加密认证模块
<2>yum install crypto-utils.x86_64 -y #下载证书
<3>systemctl restart httpd
<4>ls
<5>genkey www.westos.com #生成该网页的证书和密钥
<6>vim /etc/httpd/conf.d/ssl.conf
<7>systemctl restart httpd
<8>打开浏览器输入:https://www.westos.com
最后可以看到证书上有自己设置的信息,表示成功
###排错###
重启不了httpd
1 关闭火墙
2 网络保持畅通
3 看日志里有没有文件内容报错信息,根据报错信息改错
4
<1>cd /etc/pki/tls/certs/
<2>ls
ca-bundle.crt localhost.crt Makefile www.westos.com.crt
ca-bundle.trust.crt make-dummy-cert renew-dummy-cert
<3> cd ../private/
<4>ls
tmprequest www.westos.com.key
<5>rm -fr *
6.建立域名默认目录以及文件(网页重写)
<1>cd /etc/httpd/conf.d/
<2>mkdir /var/www/virtual/westos.com/login -p
<4>vim login.conf
写入:
<5>systemctl restart httpd
7.apache的语言支持
a.php语言
<1>vim /etc/httpd/conf/httpd.conf
<2>vim /var/www/html/index.php
<2>systemctl restart httpd
<4>yum install php -y
b.cgi语言
<1>cd /var/www/html
<2>mkdir cgi
<3>ls
<4>vim cgi/index.cgi
<5>chmod +x cgi/index.cgi
<7>cd /etc/httpd/conf.d/
<8>vim default.conf
<8>systenctl restart httpd
8.论坛搭建
<1>cd /var/www/html
<2>ls
<3>unzip Discuz_X3.2_SC_UTF8.zip
<4>ls
<5>cd upload/
<6>chmod 777 /var/www/html/upload/ -R
<7>yum install php-mysql.x86_64 -y
<8> systemctl start mariadb
<9>systemctl restart httpd
测试:
打开浏览器输入:
9.squid的部署
关于squid:
Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid主要设计用于在Linux一类系统运行。
Squid是一种在Linux系统下使用的优秀的代理服务器软件。
squid不仅可用在Linux系统上,还可以用在AIX、Digital Unix、FreeBSD、HP-UX、Irix、NetBSD、Nextstep、SCO和Solaris等系统上。
Squid与Linux下其它的代理软件如Apache、Socks、TIS FWTK和delegate相比,下载安装简单,配置简单灵活,支持缓存和多种协议。用ipchains+Squid的解决方案,就可以获得通过缓存高性能的同时能够无缝的访问Internet。
Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户想要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。
1 正向代理
在虚拟机里:
<1>vim /etc/sysconfig/network-scripts/ifcfg-eth0
添加DNS1=114.114.114.114 #使虚拟机可以联网
<2>ping www.qq.com #在此虚拟机里缓存www.qq.com的ip
PING www.qq.com (182.140.167.44) 56(84) bytes of data.
64 bytes from 182.140.167.44: icmp_seq=1 ttl=52 time=36.3 ms
64 bytes from 182.140.167.44: icmp_seq=2 ttl=52 time=85.0 ms
64 bytes from 182.140.167.44: icmp_seq=3 ttl=52 time=79.2 ms
<3>在浏览器里输入 www.qq.com 就可以打开网页,但在真机里ping www.qq.com还是不通
<4>关闭之前在浏览器里的一系列设置
2 反向代理 (需要两个虚拟机)
在desktop里(深圳)
<1>yum install httpd -y
<2>yum install squid -y
<3>systemctl start httpd
<4>vim /etc/squid/squid.conf
<5>systemctl start squid
<6>systemctl stop firewalld
在server里(西安)
<7>yum install squid -y
<8>vim /etc/squid/squid.conf
<9>systemctl stop firewalld
<10>systemctl start squid
在浏览器中关闭代理,然后输入server虚拟机ip进行查看。