频道栏目
首页 > 网络 > 其他 > 正文
RHEL6.8编译安装LAMP环境:httpd-2.4+mysql5.6+php5.5;基于LAMP环境部署WordPress
2016-12-07 09:47:00           
收藏   我要投稿

本文大纲:

1、安装前准备

2、编译安装Apache

3、源码编译安装Mysql数据库

4、编译安装PHP

5、配置httpd服务,使其支持php

6、安装Xcache加速器

7、启用服务器状态页面

8、PHP连接Mysql测试

9、基于LAMP环境,部署WordPress

所有软件包的网站下载地址:

apr和apr-util:https://apr.apache.org/

httpd:https://httpd.apache.org/

三条主线:2.0/2.2/2.4/

mysql:https://dev.mysql.com/downloads/mysql/

现在页面默认是5.7,也可以在页面里选择5.6/5.5的版本,源码安装选择最下面的Source Code,然后选择最下面的tar.gz的压缩包

libmcrypt和libmcrypt-devel:https://pkgs.org/

php:https://php.net/downloads.php

xcache:https://xcache.lighttpd.net

wordpress:https://cn.wordpress.org/

本文档中所有软件包集合下载地址:

https://pan.baidu.com/s/1pLpSy5l

1、安装前准备

修改yum源

[root@wlm~]#wget-O/etc/yum.repos.d/CentOS-Base.repo
[root@wlm~]#vim/etc/yum.repos.d/CentOS-Base.repo
#在末行模式下执行%s/$releasever/6.8/g,6.8为6系列中最新的版本号,如果是CentOS6,不需要执行这一项
[root@wlm~]#yumcleanall
[root@wlm~]#yummakecache

卸载原有httpd-2.2

[root@WebServer~]#cp/etc/init.d/httpd/etc/init.d/httpd.bak#备份这个文件后面做服务脚本文件
[root@WebServer~]#yumremovehttpd-y

 

安装编译工具

[root@wlm~]#yumgroupinstall-y"DevelopmentTools""ServerPlatformDevelopment"

关闭SElinux

[root@wlm~]#vim/etc/selinux/config
SELINUX=disabled#从新启动

 

关闭防火墙

[root@wlm~]#/etc/init.d/iptablesstop
[root@wlm~]#chkconfigiptablesoff
[root@wlm~]#chkconfig--list|grepiptables
iptables	0:off	1:off	2:off	3:off	4:off	5:off	6:off

修改主机名

[root@wlm~]#hostnameWebServer
[root@wlm~]#vim/etc/sysconfig/network
HOSTNAME=WebServer
[root@wlm~]#vim/etc/hosts
127.0.0.1WebServerWebServer.wlm.comlocalhost4localhost4.localdomain4
::1localhostlocalhost.localdomainlocalhost6localhost6.localdomain6
从新启动

 

2、编译安装Apache

1)解决依赖关系

httpd-2.4.23需要较新版本的apr和apr-util,因此需要事先对其进行升级。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包。

(1)编译安装apr

[root@WebServer~]#cdapr-1.5.2
[root@WebServer~]#tar-zxvfapr-1.5.2.tar.gz
[root@WebServer~]#./configure--prefix=/usr/local/apr#设置安装路径
[root@WebServer~]#make&&makeinstall

(2)编译安装apr-util

[root@WebServer~]#tar-zxvfapr-util-1.5.4.tar.gz
[root@WebServer~]#cdapr-util-1.5.4
[root@WebServer~]#./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr
#--prefix指定安装路径;--with-apr指定apr的安装路径,apr-util依赖于apr
[root@WebServer~]#make&&makeinstall

(3)httpd-2.4.23编译过程也要依赖于pcre-devel软件包和openssl,需要事先安装。

[root@WebServer~]#yuminstallpcre-devel
[root@WebServer~]#yuminstallopenssl-devel-y

2)编译安装httpd-2.4.23

[root@WebServer~]#tar-zxvfhttpd-2.4.23.tar.gz
[root@WebServer~]#cdhttpd-2.4.23
[root@WebServerhttpd-2.4.23]#./configure--prefix=/usr/local/apache--sysconfdir=/etc/httpd--enable-so--enable-ssl--enable-cgi--enable-cgid--enable-modules=most--enable-mods-shared=most--enable-rewrite--with-zlib--with-pcre--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util--enable-mpms-shared=all--with-mpm=event
--sysconfdir=/etc/httpd:指定配置文件安装位置
--enable-so:支持动态共享模块如果没有这个模块PHP将无法与apache结合工作
--enable-ssl:启用支持ssl
--enable-cgi:支持cgi
--enable-rewrite:支持URL重写
--with-zlib:压缩库,在互联网上传播时可节约带宽
--with-apr=/usr/local/apr:指定apr路径
--with-apr-util=/usr/local/apr-util:指定apr-util路径
--enable-mpms-shared=all:支持多道处理模块
--with-mpm=event:设定默认的模块

[root@WebServerhttpd-2.4.23]#make&&makeinstall#编译和安装

 

动态模块和静态模块的说明:
(1)构建MPM为静态模块
在全部平台中,MPM都可以构建为静态模块。在构建时选择一种MPM,链接到服务器中。如果要改变MPM,必须重新构建。为了使用指定的MPM,请在执行configure脚本时,使用参数--with-mpm=NAME。NAME是指定的MPM名称。编译完成后,可以使用httpd-l来确定选择的MPM。此命令会列出编译到服务器程序中的所有模块,包括MPM。
(2)构建MPM为动态模块
在Unix或类似平台中,MPM可以构建为动态模块,与其它动态模块一样在运行时加载。构建MPM为动态模块允许通过修改LoadModule指令内容来改变MPM,而不用重新构建服务器程序。在执行configure脚本时,使用--enable-mpms-shared选项即可启用此特性。当给出的参数为all时,所有此平台支持的MPM模块都会被安装。还可以在参数中给出模块列表。默认MPM,可以自动选择或者在执行configure脚本时通过--with-mpm选项来指定,然后出现在生成的服务器配置文件中。编辑LoadModule指令内容可以选择不同的MPM。

 

3)修改httpd的主配置文件,设置其Pid文件的路径

[root@WebServerhttpd-2.4.23]#cd/etc/httpd/
[root@WebServerhttpd]#cphttpd.confhttpd.conf.bak
[root@WebServerhttpd]#vimhttpd.conf

 

说明:手动编译安装后,httpd.pid文件是存放在/usr/local/apache/logs/目录下的,这个位置未免有些不方便。

在配置文件中找一个位置定义一下Pid文件路径就可以了

Pidfile"/var/run/httpd.pid"

4)提供SysV服务脚本/etc/init.d/httpd

[root@WebServer~]#cp/etc/init.d/httpd.bak/etc/init.d/httpd
[root@WebServer~]#vim/etc/init.d/httpd#此脚步是系统默认安装了httpd2.2自带的脚本,如果没有这个脚本,可以直接复制下面的代码
#!/bin/bash
#
#chkconfig:-8515
#description:ApacheisaWorldWideWebserver.Itisusedtoserve\
./etc/rc.d/init.d/functions##-----读取函数
if[-f/etc/sysconfig/httpd];then
./etc/sysconfig/httpd
fi
#StarthttpdintheClocalebydefault.
HTTPD_LANG=${HTTPD_LANG-"C"}
#Thiswillpreventinitlogfromswallowingupapass-phrasepromptif
#mod_sslneedsapass-phrasefromtheuser.
INITLOG_ARGS=""
#SetHTTPD=/usr/sbin/httpd.workerin/etc/sysconfig/httpdtouseaserver
#withthethread-based"worker"MPM;BEWARNEDthatsomemodulesmaynot
#workcorrectlywithathread-basedMPM;notablyPHPwillrefusetostart.
#Pathtotheapachectlscript,serverbinary,andshort-formformessages.
apachectl=/usr/local/apache/bin/apachectl#-----指定apachectl程序位置
httpd=${HTTPD-/usr/local/apache/bin/httpd}#-------httpd程序位置
prog=httpd
pidfile=${PIDFILE-/var/run/httpd.pid}#----如果文件存在就使用存在文件路径,如果不存在就使用/var/rum/httpd.pid
lockfile=${LOCKFILE-/var/lock/subsys/httpd}##--------创建的锁文件
RETVAL=0
start(){
echo-n$"Starting$prog:"
LANG=$HTTPD_LANGdaemon--pidfile=${pidfile}$httpd$OPTIONS##----以$pidfile文件执行httpd并且使用选项start
RETVAL=$?##------定义执行状态返回值
echo
[$RETVAL=0]&&touch${lockfile}##-----成功时创建锁文件
return$RETVAL
}
stop(){
echo-n$"Stopping$prog:"
killproc-p${pidfile}-d10$httpd
RETVAL=$?
echo
[$RETVAL=0]&&rm-f${lockfile}${pidfile}
}
reload(){
echo-n$"Reloading$prog:"
if!LANG=$HTTPD_LANG$httpd$OPTIONS-t>&/dev/null;then
RETVAL=$?
echo$"notreloadingduetoconfigurationsyntaxerror"
failure$"notreloading$httpdduetoconfigurationsyntaxerror"
else
killproc-p${pidfile}$httpd-HUP
RETVAL=$?
fi
echo
}
#Seehowwewerecalled.
case"$1"in
start)
start
;;
stop)
stop
;;
status)
status-p${pidfile}$httpd
RETVAL=$?
;;
restart)
stop
start
;;
condrestart)
if[-f${pidfile}];then
stop
start
fi
;;
reload)
reload
;;
graceful|help|configtest|fullstatus)
$apachectl$@
RETVAL=$?
;;
*)
echo$"Usage:$prog{start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
exit1
esac
exit$RETVAL
[root@WebServer~]#chmod+x/etc/init.d/httpd#添加执行权限
[root@WebServer~]#chkconfighttpd--add#开启自动启动
[root@WebServer~]#chkconfighttpdon
[root@WebServer~]#chkconfighttpd--list
httpd	0:off	1:off	2:on	3:on	4:on	5:on	6:off

5)为httpd服务的相关命令添加环境变量

[root@WebServer~]#vim/etc/profile.d/httpd.sh
exportPATH=$PATH:/usr/local/apache/bin
[root@WebServer~]#source/etc/profile.d/httpd.sh
#测试一下
httpd:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using127.0.0.1forServerName
SyntaxOK
#似乎报错了,这个可以忽略不计,没有设置ServerName,不影响使用,可以设置一下:
[root@WebServer~]#vim/etc/httpd/httpd.conf
ServerName
[root@WebServer~]#httpd-t
SyntaxOK
[root@WebServer~]#/etc/init.d/httpdrestart
Stoppinghttpd:[FAILED]
Startinghttpd:[OK]
[root@WebServer~]#/etc/init.d/httpdreload
Reloadinghttpd:

6)启动apache并测试

[root@WebServer~]#/etc/init.d/httpdrestart#重启
Stoppinghttpd:[OK]
Startinghttpd:

使用浏览器访问:

wKiom1g2RqrCUkINAACUqBuXX8g581.jpg

3、安装Mysql数据库

1)前期准备

查看是否已经安装了mysql,如果已经安装,卸载mysql

rpm-qa|grepmysql#查看
yumremovemysql-y#卸载

安装编译源码所需的工具和库

yuminstallgccgcc-c++ncurses-develperlcmakelibaio

说明:从mysql5.5起,mysql源码安装开始使用cmake来设置源码编译配置脚本。

准备mysql数据存放的文件系统,由于mysql的数据文件是会增长的,而且占用空间很大。数据文件要放在一个单独的

LVM分区上。这里就不做lvm逻辑卷了。直接创建一个目录替代。

[root@wlm~]#mkdir-p/mydata/data#数据存储目录
[root@wlm~]#mkdir/usr/local/mysql#mysql程序目录

创建mysql的系统用户组和系统用户

[root@wlm~]#groupadd-rmysql
[root@wlm~]#useradd-gmysql-r-s/sbin/nologin-M-d/mydata/datamysql
[root@wlm~]#chown-Rmysql:mysql/mydata/data#修改目录权限
[root@wlm~]#chownmysql.mysql/usr/local/mysql/

从官网下载mysql源码包(最后是手动从官网下载,如果官网页面变更,这个路径就不对了)

[root@wlmsrc]#wgethttps://101.96.8.140/dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.34.tar.gz

2)使用cmake编译安装并初始化mysql5.6.34

(1)编译安装

说明:mysql 安装包有三种式,rpm,源码包,二进制包(已编译好,解压后简单配置一下就可以用),我这里用的就是源码包编译安装

[root@wlmsrc]#tar-zxvfmysql-5.6.34.tar.gz#解压
[root@wlmsrc]#cdmysql-5.6.34
#使用cmake生成配置脚本。设置编译参数:
[root@WebServermysql-5.6.34]#cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1-DWITH_BLACKHOLE_STORAGE_ENGINE=1-DMYSQL_DATADIR=/data/mysqldb-DMYSQL_TCP_PORT=3306-DENABLE_DOWNLOADS=1

配置说明:
-DCMAKE_INSTALL_PREFIX=dir_name#设置mysql安装目录
-DMYSQL_UNIX_ADDR=file_name#设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock
-DDEFAULT_CHARSET=charset_name#设置服务器的字符集。缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含允许的字符集名称列表。也可以设置为UTF-8:-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=collation_name#设置服务器的排序规则。
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
存储引擎选项:
MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。
静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE=1,可用的存储引擎值有:ARCHIVE,BLACKHOLE,EXAMPLE,FEDERATED,INNOBASE(InnoDB),PARTITION(partitioningsupport),和PERFSCHEMA(PerformanceSchema)
-DMYSQL_DATADIR=dir_name设置mysql数据库文件目录
-DMYSQL_TCP_PORT=port_num设置mysql服务器监听端口,默认为3306
-DENABLE_DOWNLOADS=bool是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。

注意:重新运行配置,需要删除CMakeCache.txt文件

[root@WebServermysql-5.6.34]#rm-fCMakeCache.txt

编译安装

[root@WebServermysql-5.6.34]#make&&makeinstall#过程有些漫长

(2)初始化mysql5.6.34

[root@wlm~]#cd/usr/local/mysql/
[root@wlmmysql]#chown-Rmysql.mysql.
#因为是root用户下编译安装完成的,mysql下所有文件默认属组和属主是root
[root@wlmmysql]#ll
total68
drwxr-xr-x.2mysqlmysql4096Oct1500:13bin
-rw-r--r--.1mysqlmysql17987Sep3019:41COPYING
drwxr-xr-x.3mysqlmysql4096Oct1500:13data
drwxr-xr-x.2mysqlmysql4096Oct1500:13docs
drwxr-xr-x.3mysqlmysql4096Oct1500:13include
drwxr-xr-x.3mysqlmysql4096Oct1500:13lib
drwxr-xr-x.4mysqlmysql4096Oct1500:13man
drwxr-xr-x.10mysqlmysql4096Oct1500:13mysql-test
-rw-r--r--.1mysqlmysql2496Sep3019:41README
drwxr-xr-x.2mysqlmysql4096Oct1500:13scripts
drwxr-xr-x.28mysqlmysql4096Oct1500:14share
drwxr-xr-x.4mysqlmysql4096Oct1500:14sql-bench
drwxr-xr-x.2mysqlmysql4096Oct1500:14support-files

初始化data存放目录设置

[root@wlmmysql]#scripts/mysql_install_db--user=mysql--datadir=/mydata/data/
#初始化mysqldata存放位置
[root@wlmmysql]#ls/mydata/data/#有数据说明初始化成功
ibdata1ib_logfile0ib_logfile1mysqlperformance_schematest

初始化完成后mysql中目录文件的属主应改回成root,以免被别人攻破mysql用户密码而带来数据破坏等

[root@wlmmysql]#pwd
/usr/local/mysql
[root@wlmmysql]#chownroot-R/usr/local/mysql/*

3)为mysql提供主配置文件

初始化后会自动在当前目录下创建一个my.cnf配置文件,直接修改就可以(在mysql 5.6 以后配置文件自动生成,不需要我们再进行复制),但是/usr/local/mysql/support-files目录下,有默认配置的配置文件,可以拷贝过去。

[root@wlmmysql]#cdsupport-files/
[root@wlmsupport-files]#ls
binary-configuremy-default.cnfmysql-log-rotate
magicmysqld_multi.servermysql.server
[root@wlmsupport-files]#cpmy-default.cnf/etc/my.cnf
cp:overwrite`/etc/my.cnf'?y

修改配置文件

[root@wlmmysql]#vim/etc/my.cnf#[mysqld]后添加以下三项
[mysqld]
datadir=/mydata/data
innodb_file_per_table=ON
skip_name_resolve=ON

4)为mysql提供sysv服务脚本并启动服务

[root@wlmsupport-files]#pwd
/usr/local/mysql/support-files
[root@wlmsupport-files]#cpmysql.server/etc/init.d/mysqld#mysql源码包自带服务脚本
[root@wlmsupport-files]#chkconfig--addmysqld
[root@wlmsupport-files]#chkconfigmysqldon
[root@wlmsupport-files]#chkconfigmysqld--list
mysqld	0:off	1:off	2:on	3:on	4:on	5:on	6:off
[root@wlmsupport-files]#/etc/init.d/mysqldstart
StartingMySQL....
[root@wlmsupport-files]#netstat-tulnp|grepmysql#已经监听
tcp00:::3306:::*LISTEN19605/mysqld

5)输出mysql的man手册至man命令的查找路径

[root@wlmsupport-files]#vim/etc/man.config
MANPATH/usr/local/mysql/man

6)输出mysql的头文件至系统头文件路径/usr/include

[root@wlmmysql]#ln-sv/usr/local/mysql/include//usr/include/mysql
`/usr/include/mysql'->`/usr/local/mysql/include/'

7)输出mysql的库文件给系统库查找路径

[root@wlmmysql]#vim/etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib#在系统的库文件自动加载目录下新建mysql.conf文件,直接将mysql的库路径路径写入
[root@wlmmysql]#ldconfig-v#让系统重新读取库文件

8)修改PATH环境变量,让系统可以直接使用mysql的相关命令

[root@wlmmysql]#vim/etc/profile.d/mysql.sh#添加环境变量(与添加httpd是一样的)
exportPATH=$PATH:/usr/local/mysql/bin
[root@wlmmysql]#source/etc/profile.d/mysql.sh#重新读取一下环境变量

9)重启mysql,测试并连接mysql

[root@wlmmysql]#/etc/init.d/mysqldrestart
ShuttingdownMySQL..[OK]
StartingMySQL.[OK]
[root@wlmmysql]#mysql
WelcometotheMySQLmonitor.Commandsendwith;or\g.
YourMySQLconnectionidis1
Serverversion:5.6.34Sourcedistribution

Copyright(c)2000,2016,Oracleand/oritsaffiliates.Allrightsreserved.

OracleisaregisteredtrademarkofOracleCorporationand/orits
affiliates.Othernamesmaybetrademarksoftheirrespective
owners.

Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.

mysql>showdatabases;
+--------------------+
|Database|
+--------------------+
|information_schema|
|mysql|
|performance_schema|
|test|
+--------------------+
4rowsinset(0.00sec)

4、编译安装PHP

个人觉得php的编译安装不是非常必要,除非要用到比较新版的php,而系统默认的版本有太低。

如果不编译安装,直接yum安装即可

yuminstall-yphpphp-mysql

(1)安装图片资源软件

[root@wlmsrc]#yum-yinstallgdgd-devellibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibpnglibpng-devel

(2)安装libxml(扩展标记语言)库

[root@wlmsrc]#yum-yinstalllibxml2libxml2-devel

(3)安装bzip2压缩库

[root@wlmsrc]#yuminstall-ybzip2bzip2-devel

(4)安装mcrypt加密库(这个是从网上下载的,下载路径在文档开头已经说过了)

[root@wlmsrc]#rpm-ivhlibmcrypt-2.5.8-9.el6.x86_64.rpm
warning:libmcrypt-2.5.8-9.el6.x86_64.rpm:HeaderV3RSA/SHA256Signature,keyID0608b895:NOKEY
Preparing...###########################################[100%]
1:libmcrypt###########################################[100%]
[root@wlmsrc]#rpm-ivhlibmcrypt-devel-2.5.8-9.el6.x86_64.rpm
warning:libmcrypt-devel-2.5.8-9.el6.x86_64.rpm:HeaderV3RSA/SHA256Signature,keyID0608b895:NOKEY
Preparing...###########################################[100%]
1:libmcrypt-devel###########################################[100%]

(5)编译安装php 5.4.16

 

[root@wlmsrc]#tar-zxvfphp-5.5.38.tar.gz^C
[root@wlmsrc]#cdphp-5.5.38
[root@WebServerphp-5.5.38]#./configure--prefix=/usr/local/php--with-mysql=/usr/local/mysql--with-openssl--with-mysqli=/usr/local/mysql/bin/mysql_config--enable-mbstring--with-gd--with-freetype-dir--with-jpeg-dir--with-png-dir--with-zlib--with-libxml-dir=/usr--enable-xml--enable-sockets--with-apxs2=/usr/local/apache/bin/apxs--with-mcrypt--with-config-file-path=/etc--with-config-file-scan-dir=/etc/php.d--with-bz2--enable-maintainer-zts
--with-mysql=/usr/local/mysql:mysql相关
--with-openssl:让其能够支持openssl功能
--with-mysqli=/usr/local/mysql/bin/mysql_config:mysql的另外一个接口,让mysql与php交互的接口;接口程序是mysql_config,是个二进制程序
--enable-mbstring:多字节string,支持中文或者是非一个字节能够表示的语言
--with-gd:支持gd库
--with-freetpye-dir:支持freetype功能,freetype:自由的可移植的字体库,可以实现去引用特定字体的
--with-jpeg-dir:支持jpeg图片
--with-png-dir:支持png图片
--with-zlib:互联网上常用的,通用格式的压缩库,让数据文件先压缩再传送给客户端
--with-libxml-dir:xml(扩展标记语言),现在的很多系统在实现数据交互的时候,都要基于xml来实现,所以要php支持xml,并且让其知道其库文件所在位置
--enable-sockets:让php支持基于套接字的通信
--with-apxs2:基于apxs实现让php编译成apace模块
--with-mcrypt:支持加密功能的,额外的加密库
--with-config-file-path:php配置文件的路径放在了什么地方主配置文件是php.ini
--with-config-file-scan:主配置文件的片段,也是配置文件,这个路径下以.ini结尾的都是配置文件片段
--with-bz2:压缩库
--enable-maintainer-zts:这一项的使用取决于apache是什么类型的,apache使用的是prefork就不需要;如果使用的是event或者是worker就要添加这一项;apache以线程工作就必须编译这一项

[root@WebServerphp-5.5.38]#make&&makeinstall#编译安装

(6)为php提供配置文件

[root@WebServerphp-5.5.38]#ls|grepphp.ini
php.ini-development#用于开发环境
php.ini-production#用于生产环境:把这项复制到/etc/目录下重命名为php.ini即可;不需要启动服务,因为已经编译成apache模块了;是否启动服务要看工作模型,当做成fastcgi要启动服务
[root@WebServerphp-5.5.38]#cpphp.ini-production/etc/php.ini
#在编译的时候已经指定了配置文件的路径,所以php会自动到/etc/目录下去找其配置文件

5、配置httpd服务,使其支持php

1)编辑apache配置文件httpd.conf,以apache支持php

(1)首先要在httpd配置文件中定义,使httpd能够处理php结尾的文件 ,全文查找AddType字段,添加以下内容

[root@WebServer~]#vim/etc/httpd/httpd.conf#添加三行
AddTypeapplication/x-compress.Z.php
AddTypeapplication/x-gzip.gz.tgz.phps
PHPIniDir"/usr/local/php"

(2)定位至DirectoryIndex index.html修改为

DirectoryIndexindex.htmlindex.php

2)重启httpd服务

[root@WebServer~]#httpd-t
SyntaxOK
[root@WebServer~]#/etc/init.d/httpdreload
Reloadinghttpd:
[root@WebServer~]#/etc/init.d/httpdrestart
Stoppinghttpd:[OK]
Startinghttpd:

3)添加测试文件,测试

[root@WebServer~]#vim/usr/local/apache/htdocs/index.php#默认路径

测试页面

wKiom1g2g1yDygKyAAN6p1cPShE696.jpg

6、安装Xcache加速器

1)下载Xcache,解压

[root@WebServerxcache-3.2.0]#wgethttps://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz
[root@WebServerxcache-3.2.0]#tar-zxvfxcache-3.2.0.tar.gz
[root@WebServerxcache-3.2.0]#cdxcache-3.2.0

2)编译安装Xcache 3.2

[root@WebServerxcache-3.2.0]#./configure--enable-xcache--with-php-config=/usr/local/php/bin/php-config
[root@WebServerxcache-3.2.0]#make&&makeinstall

3)编辑php.ini,整合php和xcache

[root@WebServerxcache-3.2.0]#mkdir/etc/php.d
[root@WebServerxcache-3.2.0]#cpxcache.ini/etc/php.d/#也可以直接把xcache.ini配置信息直接追加到php.ini配置文件中

[root@WebServerxcache-3.2.0]#/usr/local/php/bin/phpize
Configuringfor:
PHPApiVersion:20121113
ZendModuleApiNo:20121212#查看模块NO号
ZendExtensionApiNo:220121212

root@WebServerxcache-3.2.0]#vim/etc/php.d/xcache.ini#把extension=后填写如下格式
[xcache-common]
;;non-Windowsexample:
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20121212/xcache.so#这个根据实际路径下文件的名称来填写
;;Windowsexample:
;extension=php_xcache.dll

4)重启apache并测试

[root@WebServerxcache-3.2.0]#httpd-t
SyntaxOK
[root@WebServerxcache-3.2.0]#/etc/init.d/httpdrestart
Stoppinghttpd:[OK]
Startinghttpd:

测试页面,有xcache版本号,说明从,如下:

wKiom1g2iSqzcmMvAAIBMk_9c_U413.jpg

7、启用服务器状态页面

说明:

mod_status模块可以让管理员查看服务器的执行状态,它通过一个HTML页面展示了当前服务器的统计数据。这些数据通常包括但不限于:

(1) 处于工作状态的worker进程数; (2) 空闲状态的worker进程数; (3) 每个worker的状态,包括此worker已经响应的请求数,及由此worker发送的内容的字节数; (4) 当前服务器总共发送的字节数; (5) 服务器自上次启动或重启以来至当前的时长; (6) 平均每秒钟响应的请求数、平均每秒钟发送的字节数、平均每个请求所请求内容的字节数;

启用状态页面的方法很简单,只需要在主配置文件中添加如下内容即可:

[root@WebServer~]#vim/etc/httpd/httpd.conf

SetHandlerserver-status
Requireallgranted

 

需要提醒的是,这里的状态信息不应该被所有人随意访问,因此,应该限制仅允许某些特定地址的客户端查看。比如使用Require ip 172.16.0.0/16来限制仅允许指定网段的主机查看此页面。

效果图:

wKioL1g2i0HiAJexAAQQFh7zmYk211.jpg

8、PHP连接Mysql测试

编辑apache的默认页面/usr/local/apache/htdocs/index.php

[root@WebServer~]#vim/usr/local/apache/htdocs/index.php

测试页面,连接mysql成功

wKioL1g2jFOSTDREAABgqCzPx54164.jpg

9、安装部署WordPress

1)下载WordPress,并解压到网站根目录

[root@WebServersrc]#wgethttps://cn.wordpress.org/wordpress-4.5.3-zh_CN.tar.gz^C
[root@WebServersrc]#tar-zxvfwordpress-4.5.3-zh_CN.tar.gz-C/usr/local/apache/htdocs

2)创建WordPress要连接mysql的账号

mysql>CREATEDATABASEwpdb;
QueryOK,1rowaffected(0.05sec)

mysql>GRANTALLPRIVILEGESONwpdb.*TOwpuser@'10.10.10.%'IDENTIFIEDBY'wppass';
QueryOK,0rowsaffected(0.08sec)
mysql>FLUSHPRIVILEGES;
QueryOK,0rowsaffected(0.03sec)

3)创建WordPress的配置文件

[root@WebServerwordpress]#pwd
/usr/local/apache/htdocs/wordpress
[root@WebServerwordpress]#cpwp-config-sample.phpwp-config.php

4)更改 wp-config.php关于数据库的连接相关配置

[root@WebServerwordpress]#vimwp-config.php
define('DB_NAME','wpdb');#填写数据库

/**MySQL数据库用户名*/
define('DB_USER','wpuser');#填写数据库账号

/**MySQL数据库密码*/
define('DB_PASSWORD','wppass');#填写密码

/**MySQL主机*/
define('DB_HOST','10.10.10.4');#数据库所在的主机,本机也可以填写localhost

5)访问测试

wKioL1g3jAajZosqAAID5x6yYsI875.jpg

点击复制链接 与好友分享!回本站首页
上一篇:WebAPi的可视化输出模式(RabbitMQ、消息补偿相关)
下一篇:基于SpringMVC的Cookie常用操作详解
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站