Linux学习笔记Apache--部署lamp及优化(三)

部署环境:
Linux学习笔记Apache--部署lamp及优化(三)_第1张图片
1:首先先安装Apache服务;(过程略过)
win版php下载地址:http://windows.php.net
2:安装php网页解析环境:
FastCGI 方式安装 php:
(1): 安装 libmcrypt
[root@lrb ~]# tar zxf libmcrypt-2.5.7.tar.gz [root@phpserver ~]# cd libmcrypt-2.5.7/
[root@lrb libmcrypt-2.5.7]# ./configure --prefix=/usr/local/libmcrypt && make && make install
(2):编译安装 php(安装大约为半小时)
[root@lrb ~]# tar zxf php-5.6.27.tar.gz
[root@lrb ~]# cd php-5.6.27/
[root@lrb php-5.6.27]# ./configure --prefix=/usr/local/php5.6 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
注意:在编译完执行后需要继续安装缺少的依赖包,大概为4个,安装完一个依赖执行上面命令下一个依赖包才会出现一共需4次。
[root@lrb php-5.6.27]# make && make install
相关选项的解释:
–prefix=/usr/local/php5.6//安装位置
–with-mysql=mysqlnd //支持 mysql
–with-pdo-mysql=mysqlnd //支持 pdo 模块
–with-mysqli=mysqlnd //支持 mysqli 模块
注:上面的三选项的作用:数据库与 php 不在一个服务器上,指定此种方式,安装数据库 连接驱动
–with-openssl//支持 openssl 模块
–enable-fpm//支持 fpm 模式
–enable-sockets//启用 socket 支持
–enable-sysvshm//启用系统共享内存支持
–enable-mbstring//多字节字串、像我们的中文就是多字节字串
–with-freetype-dir//支持 freetype、就要装 freetype-devel、跟字体相关的、字体解析工具
–with-jpeg-dir --with-png-dir 注:上面的二选项的作用:处理 jpeg、png 图片的、php 可以动态生成 jpeg 图片
–with-zlib//是个压缩库、在互联网传输时用来压缩传输的
–with-libxml-dir=/usr//这个 libxml 是用来解析 xml 的、指定/usr 下
–enable-xml //支持 xml 的
–with-mhash//支持 mhash
–with-mcrypt=/usr/local/libmcrypt //libmcrypt-devel 这个程序包所指定的
–with-config-file-path=/etc //指定配置文件的存放路径的
–with-config-file-scan-dir=/etc/php.d //配置文件扫描路径
–with-bz2 //支持 BZip2
为了支持 apache 的 worker 或 event 这两个 MPM,编译时使用了–enable-maintainer-zts 选项如果使用 PHP5.3 以上版本,为了链接 MySQL 数据库,可以指定 mysqlnd,这样在本机就不 需要先安装 MySQL 或 MySQL 开发包了。mysqlnd 从 php 5.3 开始可用,可以编译时绑定到它 (而不用和具体的 MySQL 客户端库绑定形成依赖),但从 PHP 5.4 开始它就是默认设置了。
3、提供 php 配置文件:
在这里插入图片描述
4、为 php-fpm 提供脚本
在这里插入图片描述
5、提供 php-fpm 配置文件并编辑:

在这里插入图片描述
在这里插入图片描述
修改内容如下:
Linux学习笔记Apache--部署lamp及优化(三)_第2张图片
启动 php-fpm 服务:
在这里插入图片描述
开例外,允许其他网段访问该服务网址;
Linux学习笔记Apache--部署lamp及优化(三)_第3张图片
在该主机上新建虚拟主机目录用于存放网页文件:
在这里插入图片描述
至此 php 安装配置完毕,下面配置 apache 通过 fastcgi 协议调用 php啦!!
6:配置 apache(切换到 apache 主机上操作):
在 Apache2.4 以后已经专门有一个模块针对 FastCGI 的实现,此模块为 mod_proxy_fcgi.so, 它其实是作为 mod_proxy.so 模块的扩充,因此,这两个模块都要加载
(1):开启相对应的模块:
Linux学习笔记Apache--部署lamp及优化(三)_第4张图片
在这里插入图片描述
(2):建立一个目录作为虚拟主机的家目录
在这里插入图片描述
(3):编辑主配置文件 httpd.conf,开启虚拟主机:

在这里插入图片描述
同时定位 AddType;添加下面两行:让 apache 能识别 php 格式的页面

在这里插入图片描述
并且定位至 DirectoryIndex:支持 php 格式的主页:最好添加在最前面
在这里插入图片描述
配置虚拟主机支持使用 fcgi(快速网关通道):
在这里插入图片描述
Linux学习笔记Apache--部署lamp及优化(三)_第5张图片
(因为pingguo这个网址真实存在所以如下改动)
Linux学习笔记Apache--部署lamp及优化(三)_第6张图片
其中:
ProxyRequests off #关闭正向代理
ProxyPassMatch:把以.php 结尾的文件请求发送到 php-fpm 进程,php-fpm 至少需要知道运 行的目录和 URI,所以这里直接在 fcgi://192.168.31.141:9000 后指明了这两个参数,其它的 参数的传递已经被 mod_proxy_fcgi.so 进行了封装,不需要手动指定。 特别注意的是,红色字体部分需要与中的 DocumentRoot 后的路径一致 ProxyPassMatch 只有满足特定正则模式的内容才会匹配并执行此规则,这里的模式是,^/(..php(/.)?)$ 从网站(虚拟主机的根目录开始,匹配任何以 .php 结尾,或者在 .php 之后 紧跟一个 / 再跟别的内容的路径。
^ (caret) 和 $ (dollar)标志要匹配的路径的开始和结束
( )括号里的内容可以用 $1 来表示,以方便后面引用它。
fcgi:// 192.168.31.141:9000 通过 mod_proxy_fcgi 来转发的代理,使用 fastCGI 协议,转到 PHP-FPM 监听的端口。
/path/to/your/documentroot/ 非常重要!必须与虚拟主机的路径匹配,且必须是对应 php 文件在操作系统中的绝对路径。 否则会找不到文件。
$1 可以从原始请求扩展成整个请求路径的变量,这里指代前面( ) 里面匹配的那个路径(uri) 充:Apache httpd 2.4 以前的版本中,要么把 PHP 作为 Apache 的模块运行,要么添加一个第 三方模块支持 PHP-FPM 实现。
7:在 php 服务器上的/var/www/benet 目录下创建.php 的测试页:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试:
Linux学习笔记Apache--部署lamp及优化(三)_第7张图片
Linux学习笔记Apache--部署lamp及优化(三)_第8张图片
Linux学习笔记Apache--部署lamp及优化(三)_第9张图片
看到上面两个测试页说明 apache、php、mysql 之间可以协同工作了。
7:搭建论坛,在php服务器操作:
Discuz 的程序文件解压,并且将 upload 中所有文件放置到网站目录
[root@localhost ~]# unzip Discuz_7.0.0_FULL_SC_UTF8.zip
[root@localhost ~]# cd Discuz_7.0.0_FULL_SC_UTF8/
[root@localhost Discuz_7.0.0_FULL_SC_UTF8]# cp -r upload/ /var/www/benet/bbs
[root@localhost Discuz_7.0.0_FULL_SC_UTF8]# chmod -R 777 /var/www/benet/bbs/
回到mysql中创建bbs的数据库”
在这里插入图片描述
Linux学习笔记Apache--部署lamp及优化(三)_第10张图片
Linux学习笔记Apache--部署lamp及优化(三)_第11张图片
搭建nfs,在php服务器操作:
[root@localhost etc]# vim /etc/exports
/var/www/pingguo/ 192.168.235.0/24(rw,sec=sys,sync,no_root_squash)
[root@localhost etc]# systemctl restart nfs
回到apache服务器挂载:
[root@localhost benet]# showmount -e 192.168.235.102
在这里插入图片描述
Export list for 192.168.235.102:
/var/www/benet 192.168.235.0/24
[root@localhost benet]# mount -t nfs 192.168.235.102:/var/www/pingguo /var/www/benet

Linux学习笔记Apache--部署lamp及优化(三)_第12张图片
然后在nfs服务器中的/var/www/pingguo中创建一个文件或目录,在apache服务器中的/var/www/pingguo中可以看到创建的那个目录或文件,就说明同步成功了。之后在测试机访问http://192.168.235.100/bbs/install/页面如下
Linux学习笔记Apache--部署lamp及优化(三)_第13张图片
[root@localhost ~]# vim /etc/php.ini
202行 short_open_tag = Off改为202 short_open_tag = On
在这里插入图片描述
[root@localhost etc]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
Linux学习笔记Apache--部署lamp及优化(三)_第14张图片
再次访问http://192.168.235.100/bbs/install/
Linux学习笔记Apache--部署lamp及优化(三)_第15张图片
Linux学习笔记Apache--部署lamp及优化(三)_第16张图片
Linux学习笔记Apache--部署lamp及优化(三)_第17张图片
Linux学习笔记Apache--部署lamp及优化(三)_第18张图片
Linux学习笔记Apache--部署lamp及优化(三)_第19张图片
以上操作如:点击注册一个用户或者发帖;都可以在MySQL数据库中查看的到;以及登录用户时间都会保存在MySQL中。(或者直接在MySQL数据库中再额外创建一个用户或者在论坛中添加数据表成功后刷新页面都可以访问得到)。

你可能感兴趣的:(Linux--各项服务优化)