一、主机要求
1.连接外网的主机一台
2.epel源配置成功,建议给成aliyun的镜像站
二、环境要求
centos7.3主机环境
setenforce 0
iptables -F
apr-1.5.2.tar.bz2
apr-util-1.5.4.tar.bz2
httpd-2.4.27.tar.bz2
mariadb-10.2.7-linux-x86_64.tar.gz
php-7.1.7.tar.bz2
wordpress-4.8-zh_CN.tar.gz
xcache-3.2.0.tar.gz
以上所有源码包
yum源
[base]
name=base
baseurl=https://mirrors.aliyun.com/centos/7.3.1611/os/x86_64/
gpgcheck=0
enable=0
[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
gpgcheck=0
enable=0
三、项目实现
1、httpd2.4.27 编译
yum groupinstall "development tools"
yum install pcre-devel openssl-devel
tar xvf apr-1.5.2.tar.bz2
tar xvf apr-util-1.5.4.tar.bz2
tar xvf httpd-2.4.27.tar.bz2
mv apr-1.5.2 httpd-2.4.27/srclib/apr
mv apr-util-1.5.4 httpd-2.4.27/srclib/apr-util
./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
make && make install
验证HTTP是否成功编译安装
apachectl
ss -ntl 查看服务对应端口是否打开
2、二进制安装mariadb
rpm -qa "mariadb*"
yum remove mariadb*
# 删除原有maraidb的环境
tar xvf mariadb-10.2.7-linux-x86_64.tar.gz -C /usr/local/
# 解压二进制包到/usr/local目录
cd /usr/local/
ln -s mariadb-10.2.7-linux-x86_64/ mysql
# 创建软连接,使得系统可以识别或者直接在解压的时候改名
useradd -r mysql -s /sbin/nologin -d /app/mysqldb -m
cd mysql/
scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql
# 运行安装脚本
mkdir /etc/mysql
cp support-files/my-huge.cnf /etc/mysql/my.cnf
复制配置文件
vim /etc/mysql/my.cnf
[mysqld]加三行
datadir =/app/mysqldb # 制定主目录
innodb_file_per_table = ON # 打开一个表一个文件的开关
skip_name_resolve = ON # 跳过域名解析
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
vim /etc/profile.d/app.sh
export PATH=/usr/local/mysql/bin:/app/httpd24/bin:$PATH
# 条件环境配置文件
. /etc/profile.d/app.sh
service mysqld start
mysql_secure_installation
# 安装后脚本,清除不安全的用户操作
mysql -uroot -p******
MariaDB [(none)]> create database blogdb;
MariaDB [(none)]>grant all on blogdb.* to wpuser@'%.%.%.%' identified by "******";
# 注意%匹配所有,****代表密码
3、安装PHP
tar xvf php-7.1.7.tar.bz2
cd /root/src/php-7.1.7/
yum -y install libxml2-devel bzip2-devel libmcrypt-devel
./configure --prefix=/app/php --enable-mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-mbstring --with-png-dir --with-jpeg-dir --with-freetype-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/app/httpd24/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
make && make install
cp php.ini-production /etc/php.ini
# 添加主配置文件
vim /app/httpd24/conf/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
# 添加HTTP支持PHP文本模块
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
apachectl stop
apachectl start
5、测试MySQL是否与HTTP连通
vim /app/httpd24/htdocs/index.php
<?php
$mysqli=new mysqli("%。%。%。%","root","*******");
if(mysqli_connect_errno()){
echo "连接数据库失败!";
$mysqli=null;
exit;
}
echo "连接数据库成功!";
$mysqli->close();
?>
apachectl stop
apachectl start
打开web页面输入主机IP即可测试。假如没有成功,仔细检查主配置文件
$mysqli=new mysqli("%。%。%。%","root","*******");
这个地方双引号内一次填入主机IP/主机名``用户名``密码
。
6、安装WordPress
tar xf wordpress-4.8-zh_CN.tar.gz
mv wordpress /app/httpd24/htdocs/blog
setfacl -m u:daemon:rwx blog/
或者
cp wp-config-sample.php wp-config.php
vim wp-config.php
define('DB_NAME', '数据库名称');
/** MySQL数据库用户名 */
define('DB_USER', '用户名');
/** MySQL数据库密码 */
define('DB_PASSWORD', '密码');
/** MySQL主机 */
define('DB_HOST', '登陆主机IP/主机名');
7、xcache提供加速
cd /root/src/xcache-3.2.0/
yum -y install php-devel php-cli
phpize
# 执行安装前脚本生成configure文件
./configure --enable-xcache --with-phpconfig=/usr/bin/php-config
make && make install
安装结束时,会出现类似如下行:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
编辑php.ini,整合php和xcache:
首先将xcache提供的样例配置导入php.ini
mkdir /etc/php.d
cp xcache.ini /etc/php.d
接下来编辑/etc/php.d/xcache.ini,找到zend_extension开头的行,修改为如下行:
zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-******/xcache.so
如果php.ini文件中有多条zend_extension指令行,要确保此新增的行排在第一位。