实现上述应用需要用到以下几个软件:
可移植运行库:apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz
网站程序:httpd-2.4.27.tar.bz2
超文本处理器:php-5.6.31.tar.xz
缓存器/优化器:xcache-3.2.0.tar.bz2
数据库:mariadb-5.5.57-linux-x86_64.tar.gz
网站源码程序:wordpress-4.8.1-zh_CN.tar.gz
1 编译http2.4
安装基础依赖组件
yum groupinstall "development tools"
yum install openssl-devel pcre-devel expat-devel
解压缩各包组
tar xvf apr-1.6.2.tar.gz
tar xvf apr-util-1.6.0.tar.gz
tar xvf httpd-2.4.27.tar.bz2
cp -r apr-1.6.2 httpd-2.4.27/srclib/apr
cp -r apr-util-1.6.0 httpd-2.4.27/srclib/apr-util
编译安装
cd httpd-2.4.27/ #进入httpd目录,运行以下命令
./configure --prefix=/app/httpd24 \
--enable-so --enable-ssl \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-included-apr \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork
#运行完之后看是否有错误提示,如果有需要安装的依赖包组,再安装过后,重新运行以上命令
make -j 2 && make install
在/etc/profile.d创建lamp脚本,将httpd/bin目录加入到系统变量
cat > /etc/profile.d/lamp.sh << eof
PATH=/app/httpd24/bin/:$PATH
eof
. /etc/profile.d/lamp.sh
cp /etc/init.d/httpd /etc/init.d/httpd24
vim /etc/init.d/httpd24
apachectl=/app/httpd24/bin/apachectl
httpd=${HTTPD-/app/httpd24/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
添加服务
chkconfig --add httpd24
chkconfig --list
service httpd24 start
2 二进制安装mariadb
tar xvf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/ #数据库安装解压的路径为指定路径
ln -s mariadb-5.5.57-linux-x86_64/ mysql
新建mysql系统账户
useradd -r -m -d /app/mysqldb -s /sbin/nologin mysql
cd mysql/
scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql
mkdir /etc/mysql
cp support-files/my-large.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 #添加mysqld服务脚本
chkconfig --add mysqld #添加服务
chkconfig --list
touch /var/log/mysqld.log #创建日志文件
chown mysql /var/log/mysqld.log #给日志文件夹写权限
service mysqld start
cat > /etc/profile.d/lamp.sh << eof #添加环境变量
PATH=/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH
eof
#初始化数据库安全环境
mysql_secure_installation
#设置访问类型
mysql -uroot -pcentos
create datebase wpdb;
grant all on wpdb.* to wpuser@'192.168.25.%' identified by 'centos';
grant all on wpdb.* to wpuser@'127.%' identified by 'centos';
grant all on wpdb.* to wpuser@'localhost' identified by 'centos';
3 源码编译php
yum install libxml2-devel bzip2-devel libmcrypt-devel #安装必要的组件
tar xvf php-5.6.31.tar.xz
cd php-5.6.31
./configure \
--prefix=/app/php5 \
--with-mysql=/usr/local/mysql \
--with-openssl \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-mbstring \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--enable-sockets \
--enable-fpm \
--with-mcrypt \
--with-config-file-path=/etc/php5 \
--with-config-file-scan-dir=/etc/php5.d \
--with-bz2
make -j 2 && make install
#添加环境变量
vi /etc/profile.d/lamp.sh
PATH=/app/php5/bin:/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH
. /etc/profile.d/lamp.sh
mkdir /etc/php5/
cp php.ini-production /etc/php5/php.ini
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig --list php-fpm
cd /app/php5/etc
cp php-fpm.conf.default php-fpm.conf
vim /app/httpd24/conf/httpd.conf
取消两行的注释
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
在文件尾部加四行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
ProxyRequests Off 关闭正向代理
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1
修改下面行
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
service httpd24 restart
service php-fpm start
4 测试
5 配置wordpress
tar xvf wordpress-4.8.1-zh_CN.tar.gz -C /app/httpd24/htdocs
cd /app/httpd24/htdocs
mv wordpress/ blog/
cd /app/httpd24/htdocs/blog/
cp wp-config-sample.php wp-config.php
vim wp-config.php
define('DB_NAME', 'wpdb');
/** MySQL数据库用户名 */
define('DB_USER', 'wpuser');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'centos');
/** MySQL主机 */
define('DB_HOST', 'localhost');
6 登录测试
http://websrv/blog
测试性能
ab -c 10 -n 100 http://websrv/blog/
7 编译xcache 实现Php加速
tar xvf xcache-3.2.0.tar.bz2
cd xcache-3.2.0
phpize
./configure --enable-xcache --with-php-config=/app/php5/bin/php-config
make && make install
mkdir /etc/php.d/
cp xcache.ini /etc/php5.d/
vim /etc/php5.d/xcache.ini
extension = /app/php5/lib/php/extensions/no-debug-non-zts-20131226/xcache.so
service php-fpm restart
8 8 测试
ab -c 10 -n 100 http://websrv/blog/