zoukankan      html  css  js  c++  java
  • CentOS6编译LAMP基于FPM模式的应用wordpress

    CentOS6编译LAMP基于FPM模式的应用wordpress

    引言:其实我们可以直接使用yum安装LAMP(Linux+Apache[httpd]+Mysql+PHP),比手动编译安装LAMP要简单的多,但在实际的生产环境中都会手动编译LAMP,这是为什么呢?是因为在centos6系统中yum安装的httpdphp版本过旧,默认不支持fcgi协议和fpm机制,所以只能手动编译安装新版本的httpd和php了,下面来说一下使用手动编译安装LAMP有哪些优点:

    • 方便扩展模块,如添加PHP的扩展模块、http扩展模块等,可根据实际需求进行配置;
    • 可以自由的选择安装较适合的版本,系统自带的httpdmysql或者PHP的版本可能较低不能满足某些应用需求;
    • 可以以fpm的方式运行PHP,一般系统自带的PHP都是以httpd模块的形式运行的,若需要让PHPfpm的方式运行,必须手动编译安装httpdPHP

    编译安装前的准备:

    软件版本

    ls /root/lamp

    apr-1.6.2.tar.gz

    apr-util-1.6.0.tar.gz

    httpd-2.4.28.tar.bz2

    mariadb-5.5.57-linux-x86_64.tar.gz

    php-5.6.31.tar.xz

    wordpress-4.8.1-zh_CN.tar.gz

    xcache-3.2.0.tar.gz

    注意:一定要关闭防火墙和selinux策略

    iptables -F 关闭防火墙

    setenforce 0 关闭selinux策略

    所有的软件包都准备好了,然后就开始编译安装lamp搭建wordpress了

    (1)准备好编译安装的环境

    yum install openss-devel expat-devel pcre-devel bzip2-devel libxml2-devel libmcrypt-devel -y

    yum groupinstall "development tools"

    (2)编译安装httpd2.4

    1.

    cd /root/lamp

    tar xvf apr-1.6.2.tar.gz

    tar xvf apr-util-1.6.0.tar.gz

    tar xvf httpd-2.4.28.tar.bz2

    2.

    cp -av apr-1.6.2 httpd-2.4.28/srclib/apr

    cp -av apr-util-1.6.0 httpd-2.4.28/srclib/apr-util

    cd httpd-2.4.28

    3.

    ./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

    4.make -j 4 && make install

    5.

    cp /etc/init.d/httpd /etc/init.d/httpd24 做成服务脚本,将来httpd服务的名称就是httpd24,如果你的机器上/etc/init.d/httpd这个脚本文件,可以从其他机器上拷贝一份,也可以yum安装httpd会生成这个文件,然后再复制改名,再卸载yum安装的httpd.

    vim /etc/init.d/httpd24 改成你自己指定的安装httpd的路径

    6.

    chkconfig --add httpd24

    service httpd 24 开启httpd服务

    ss -ntl 查看80端口是否打开

    7.

    vim /etc/profile.d/lamp.sh 添加PATH变量

    PATH=/app/httpd24/bin:$PATH

    . /etc/profile.d/lamp.sh使添加的PATH变量生效

    Httpd编译安装结束

    (3)二进制安装mariadb-5.5.57

    1.

    useradd -r -d /app/mysqldb -m -s /sbin/nologin mysql

    2.

    cd /root/lamp

    tar xvf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/

    3.

    cd /usr/local

    mv mariadb-5.5.57-linux-x86_64/ mysqlmariadb的数据库的目录已经生成,但是这个目录不符合要求,要求mariadb数据库必须放在mysql目录下,所以有两种方法解决,一是改名,将生成的mariadb数据库目录改为mysql,二是创建软链接,我们选择改名的方式)

    4. 准备mysql的配置文件

    cd /usr/local/mysql/support-files/

    mkdir /etc/mysql

    cp my-huge.cnf /etc/mysql/my.cnf

    vim /etc/mysql/my.cnf

    5.

    scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb (必须在/usr/local/mysql目录下,不然会报错)

    6. 做成服务脚本,将来mysql服务的名字就叫做mysqld

    cp support-files/mysql.server /etc/init.d/mysqld chkconfig --add mysqld

    service mysqld start 启动服务失败,报错提示这是因为没有数据库的日志文件

    7.创建日志文件

    touch /var/log/mysqld.log

    chown mysql /var/log/mysqld.log (因为写数据库日志是以mysql的身份写的,所以要把日志文件的所属人改为mysql,否则mysql用户就没有权限写日志)

    service mysqld start (再次启动服务成功)

    ss -ntl (查看3306端口是否打开)

    8.添加PATH变量

    vim /etc/profile.d/lamp.sh

    PATH=/app/httpd24/bin:/usr/local/mysql/bin:$PATH

    . /etc/profile.d/lamp.sh

    9. 运行mysql安全脚本

    mysql_secure_installation

    10.

    mysql -uroot -pcentos

    创建一个博客数据库,然后再创建一个管理该博客数据库的管理员,并授权

    create database blogdb;

    grant all on blogdb.* to 'wpadm'@'localhost' identified by 'centos';

    数据库编译安装结束

    (4)编译安装php-5.6.31

    1.

    cd /root/lamp

    tar xvf php-5.6.31.tar.xz

    2.

    cd php-5.6.31

    ./configure

    --prefix=/app/php

    --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/php/

    --with-config-file-scan-dir=/etc/php.d

    --with-bz2

    3.

    make -j 4 && make install

    4.

    cd php-5.6.31

    cp php.ini-production /etc/php/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

    cp /app/php/etc/php-fpm.conf.default /app/php/etc/php-fpm.conf

    service php-fpm start

    ss -ntl

    php编译安装结束

    (5).配置httpd配置文件支持php

    vim /app/httpd24/conf/httpd.conf

    去掉下面两行注释

    LoadModule proxy_module modules/mod_proxy.so

    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

    修改下面行

    DirectoryIndex index.php index.html

    加上下面四行

    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

    测试

    在/app/httpd24/htdocs下建一个index.php

    vim index.php

    <?php

    phpinfo();

    ?>

    然后再浏览器上访问192.168.10.186,成功

    (6)布署wordpress

    1.

    cd /root/lamp

    tar xvf wordpress-4.8.1-zh_CN.tar.gz

    2.

    rm -rf /app/httpd24/htdocs/*

    cp wordpress/* /app/httpd24/htdocs/

    3.

    cd /app/httpd24/htdocs/

    mv wp-config-sample.php wp-config.php

    4.

    vim wp-config.php

    配置好之后,在浏览器上去访问

    成功搭建博客

    (7)支持多个虚拟主机

    1.再创建一个数据库,用来存放另一个博客,接着创建一个管理该数据库的管理员并授权

    mysql -uroot -pcentos

    create database blogdb1;

    grant all on blogdb1.* to 'wpadm1'@'localhost' identified by 'centos';

    2.

    mkdir /app/httpd24/htdocs2

    cp /app/httpd24/htdocs/* /app/httpd24/htdocs2

    vim wp-config.php

    3.

    vim /app/httpd24/conf/httpd.conf

    Include conf/extra/httpd-vhosts.conf 取消注释

    删除下面两行

    ProxyRequests Off

    ProxyPassMatch ^/(.*.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1

    4.在httpd服务子置文件配置虚拟主机

    vim /app/httpd24/conf/extra/httpd-vhosts.conf

    <VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot "/app/httpd24/htdocs"

    ServerName www.a.com

    ErrorLog "logs/a.com-error_log"

    CustomLog "logs/a.com-access_log" common

    ProxyRequests Off

    ProxyPassMatch ^/(.*.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1

    <directory /app/httpd24/htdocs>

    require all granted

    </directory>

    </VirtualHost>

    <VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot "/app/httpd24/htdocs1"

    ServerName www.b.com

    ErrorLog "logs/b.com-error_log"

    CustomLog "logs/b.com-access_log" common

    ProxyRequests Off

    ProxyPassMatch ^/(.*.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs1/$1

    <directory /app/httpd24/htdocs1>

    require all granted

    </directory>

    </VirtualHost>

    做完之后,再重启一下httpd服务

    service httpd24 restart

    5.windos系统上配置解析域名www.a.com,www.b.com

    C:WindowsSystem32driversetchosts

    6.浏览器上访问www.a.com,www.b.com

    访问www.com

    访问www.b.com

    好了,看到这相信大家都知道如何搭建WordPress了,我们下期再见。

  • 相关阅读:
    深度学习优化方法比较
    调参
    Numpy/Pytorch之数据类型与强制转换
    numpy:维度问题
    js模板引擎-juicer
    js模板引擎-腾讯artTemplate 简洁语法例子
    canva绘制时钟
    js中的break ,continue, return
    JavaScript奇技淫巧44招
    数据类型
  • 原文地址:https://www.cnblogs.com/1477717815fuming/p/7750253.html
Copyright © 2011-2022 走看看