Apache的论坛搭建、正向代理 ,反向代理,轮询调度
一、搭建论坛
1、创建发布目录
[[email protected] conf.d]# mkdir -p /var/www/westos.com/bbs/html/
2将主机上的搭建论坛的安装包传送到服务端的发布目录下
3、服务端将安装包解压
[[email protected] conf.d]# cd /var/www/westos.com/bbs/html/
[[email protected] html]# ls
Discuz_X3.2_SC_UTF8.zip # 论坛模版的压缩包
[[email protected] html]# unzip Discuz_X3.2_SC_UTF8.zip # 解压
[[email protected] html]# ls
Discuz_X3.2_SC_UTF8.zip readme upload utility
[[email protected] html]# rm -fr Discuz_X3.2_SC_UTF8.zip
[[email protected] html]# ls
readme upload utility
解压完成之后会出现三个文件(蓝色)
4、可以进入readme/,查看readme.txt
接下来我们根据提示步骤进行配置:
(1)进入/var/www/westos.com/bbs/html/upload
(2)给config和data目录添加权限(注意要加-R参数,表示递归)
[[email protected] upload]# chmod -R 777 config
[[email protected] upload]# chmod -R 777 data
(3)编写子配置文件bbs.conf
[[email protected] html]# cd /etc/httpd/conf.d/
[[email protected] conf.d]# vim bbs.conf
1 <VirtualHost *:80>
2 ServerName bbs.westos.com
3 DocumentRoot /var/www/westos.com/bbs/html
4 CustomLog logs/bbs.log combined
5 </VirtualHost>
6 <Directory "/var/www/westos.com/bbs/html">
7 Require all granted
8 </Directory>
(4)重启服务
[[email protected] conf.d]# systemctl restart httpd
(5)在测试端主机添加相应的解析
[[email protected] kiosk]# vim /etc/hosts
(6)测试端浏览器:
输入bbs.westos.com/upload/install,进行安装
此时发现状态有很多错误
(6)在服务端将selinux的状态修改为警告模式
[[email protected] conf.d]# getenforce
Enforcing
[[email protected] conf.d]# setenforce 0 # 把selinux设置成为警告模式
(7)给uc_client ,uc_server添加权限(-R一定要添加)
[[email protected] conf.d]# cd /var/www/westos.com/bbs/html/upload/
[[email protected] upload]# chmod 777 uc_client uc_server -R
(8)重启服务
[[email protected] conf.d]# systemctl restart httpd
在测试端再次刷新页面,发现状态修改正确
状态已全部正常
(9)我已经安装mariadb-server,如果没有安装
[[email protected] upload]# yum install -y mariadb-server
[[email protected] upload]# vim /etc/my.cnf
10 skip-networking=1
[[email protected] upload]# systemctl start mariadb
[[email protected] upload]# netstat -antlp | grep mysql
[[email protected] upload]# mysql_secure_installation
检查php是否支持mysql,如果不支持。就进行以下操作。
[[email protected] upload]# php -m # 发现php不支持mysql
[[email protected] upload]# yum install -y php-mysql
[[email protected] upload]# systemctl restart httpd
安装
论坛搭建成功
代理服务器的了解
代理服务器
代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。 Squid是一个缓
存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一
个主页时,可以向Squid 发出一个申请,要Squid 代替其进行下载,然后Squid 连接所申请网站并请
求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存
的备份立即传给用户,使用户觉得速度相当快。Squid 可以代理HTTP、FTP、GOPHER、SSL和WAIS等
协议并且Squid 可以自动地进行处理,可以根据自己的需要设置Squid,使之过滤掉不想要的东西。
Squid 分类:
按照代理类型的不同,可以将Squid 代理分为正向代理和反向代理,正向代理中,根据实现方式的不同,又可以分为普通代理和透明代理。
正向代理和反向代理的区别:
1、代理对象不同
正向代理是服务于客户端的,客户端请求该服务器去访问目标服务器。
反向代理是服务于服务器的,服务器设置代理服务器来处理客户的访问。
2、用途不同
正向代理,为在防火墙内的局域网客户端提供访问Internet的途径。
反向代理,将防火墙后面的服务器提供给Internet访问。
3、安全性不同
正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此必须采取安全措施以确保仅为授权的客户端提供服务。
反向代理都对外都是透明的,访问者并不知道自己访问的是哪一个代理 。
二、代理服务的配置(必须使代理服务器连上网)
真机foundation61(172.25.254.61)
主机squid(172.25.254.127)
主机apache-server(172。25.254.227)
1、正向代理
概念:
正向代理(forward proxy),是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
正向代理的应用:
访问原来无法访问的资源
用作缓存,加速访问速度
对客户端访问授权,上网进行认证
代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
(1)使真机充当路由器
[[email protected] kiosk]# systemctl stop libvirtd.service
[[email protected] kiosk]# systemctl start firewalld
[[email protected] kiosk]# systemctl start libvirtd.service
[[email protected] kiosk]# firewall-cmd --add-masquerade # 打开路由功能
success #成功
(2)使代理服务器上网
[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 # 添加网关和DNS
DNS1=114.114.114.114
GATEWAY=172.25.254.61
[[email protected] ~]# systemctl restart network
[[email protected] ~]# route -n
[[email protected] ~]# ping www.baidu.com
安装squid
[[email protected] ~]# yum install -y squid.x86_64
编写配置文件
[[email protected] ~]# vim /etc/squid/squid.conf
56 http_access allow all
59 http_port 3128
62 cache_dir ufs /var/spool/squid 100 16 256
ufs # 缓存数据的存储格式
/var/spool/squid # squid的cache存放路径
100 # cache目录容量(单位M)
16 # 一级缓存目录数量,默认是16
256 # 二级缓存目录数量,默认是256
[[email protected] ~]# systemctl restart squid.service # 重启squid服务
[[email protected] ~]# systemctl stop firewalld # 关闭火墙
(3)打开客户端浏览器进行代理设置
[[email protected] upload]# firefox & # 用命令的方式打开浏览器
(4)测试:在网页上可以成功访问baidu,是因为有172.25.254.127这台主机做代理
但是在客户端主机上并不能ping通baidu,因为只在浏览器上做了代理
2、反向代理 (也称cdn加速)
反向代理模式是指让多台节点主机反向缓存网站数据,从而加快用户访问速度。因为一般来讲,网站中会普遍加载大量的文字、图片等静态资源,而且它们相对来说都是比较稳定的数据信息,当用户发起网站页面中这些静态资源的访问请求时,我们可以使用Squid服务程序提供的反向代理模式来进行响应。
(1)配置文件
[[email protected] ~]# cd /etc/squid/
[[email protected] squid]# vim /etc/squid/squid.conf
59 http_port 80 vhost vport
vhost # 支持域名和主机名来代理节点
vport # 支持ip和端口来代理节点
60 cache_peer 172.25.254.227 parent 80 0 proxy-only
172.25.254.227 # web服务器的ip
parent # 上下级关系,非平级关系
80 # 代理web服务器的80端口
0 # 没有使用lcp,表示就一台squid服务器
proxy-only # 只做代理,降低主机负担
(2)重启服务
[[email protected] squid]# systemctl restart squid.service
(3)打开浏览器进行访问
3.调度器(轮询调度)
(1)配置文件
[[email protected] squid]# vim /etc/squid/squid.conf
59 http_port 80 vhost vport
60 cache_peer 172.25.254.227 parent 80 0 proxy-only name=web1 round-robin
61 cache_peer 172.25.254.61 parent 80 0 proxy-only name=web2 round-robin
round-robin # 轮询调度算法
name=web2 # 定义一个名字让后面的参数使用
62 cache_peer_domain web1 web2 www.westos.com # 将 www.westos.com 域名的请求通过 RR 轮询方式转发到2个父节点中的一个
(2)重启服务
[[email protected] squid]# systemctl restart squid.service
(3)测试:
在真机中输入www.westos.com,显示172.25.254.227主机/var/www/html中默认发布文件中的内容
刷新一次页面,就会显示172.25.254.61主机/var/www/html中默认发布文件中的内容
(4)还可以添加权重系数weight=2,表示访问两次172.25.254.227主机,再访问一次172.25.254.61主机