LAMP编译安装

LAMP编译安装

实验规划

  • linux OS:centos7.6

  • hostA ip:192.168.38.17

  • hostB ip:192.168.38.27

  • 编译的软件版本:
    httpd 2.4.41
    php-fpm 7.3.10
    mariadb 10.2.27

  • 准备的软件版本如下:

    • hostA:
      apr-1.7.0.tar.bz2
      apr-util-1.6.1.tar.bz2
      httpd-2.4.41.tar.gz
      php-7.3.10.tar.xz

    • hostB:
      mariadb-10.2.27-linux-x86_64.tar.gz

Apache编译安装

1、准备安装环境
    # yum install -y gcc pcre-devel openssl-devel expat-devel

2、解压缩
    # tar xf apr-1.7.0.tar.bz2
    # tar xf apr-util-1.6.1.tar.bz2
    # tar xf httpd-2.4.41.tar.gz

3、以--with-included-apr方式安装httpd
    # mv apr-1.7.0 httpd-2.4.41/srclib/apr
    # mv apr-util-1.6.1 httpd-2.4.41/srclib/apr-util

4、切换目录:
    # cd httpd-2.4.41/

5、configure
    # ./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  

6、# make && make install 

==>至此httpd编译安装完成,后续的善后工作处理

7、创建apache系统用户,供httpd和php-fpm使用
    # groupadd -g 48 -o -r apache
    # useradd -s /sbin/nologin -r -g 48 -u 48 -c "httpd server" apache

8、修改配置文件
    # vim /app/httpd24/conf/httpd.conf
        ....
        User apache
        Group apache

9、修改PATH变量
    # echo 'PATH=/app/httpd24/bin/:$PATH' > /etc/profile.d/httpd.sh

10.启动httpd
    # apachectl start

php-fpm编译安装

基于模块方式安装php

  • 基于模块方式编译安装php,目前使用不多

    • 主要有**–withapxs2=/app/httpd24/bin/apxs**这个编译选项代表模块安装php
  • libxml2-devel bzip2-devel libmcrypt-devel (epel)

./configure --prefix=/app/php --enable-mysqlnd --with-mysqli=mysqlnd 
--with-openssl --with-pdo-mysql=mysqlnd --enable-mbstring --withfreetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxmldir=/usr --enable-xml --enable-sockets --withapxs2=/app/httpd24/bin/apxs --with-config-file-path=/etc --withconfig-file-scan-dir=/etc/php.d --enable-maintainer-zts --disablefileinfo
  • 注意:php-7.0以上版本使用–enable-mysqlnd --with-mysqli=mysqlnd,原–with-mysql不再支持

  • 为php提供配置文件
    cp php.ini-production /etc/php.ini

  • 编辑apache配置文件httpd.conf,以使apache支持php
    vim /etc/httpd24/conf/httpd.conf
    ①加二行
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    ②定位至DirectoryIndex index.html
    修改为DirectoryIndex index.php index.html

fastcgi方式编译安装php-fpm

  • –enable-fpm以fastcgi方式编译php
1.提供编译安装环境
    # yum install -y libxml2-devel bzip2-devel libmcrypt-devel (epel)

2.解压缩
    # tar xf  php-7.3.10.tar.xz

3.切换目录
    # cd php-7.3.10/

4.configure
    # ./configure --prefix=/app/php --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-mbstring --enable-xml --enable-sockets --enable-fpm --enable-maintainer-zts --disable-fileinfo

5.make && make install
    # make && make install

6.复制php主配置文件   /etc/php.ini
    # cd /data/php-7.3.10  这是在源码解压缩安装完成以后的php解压目录中 
    # cp php.ini-production /etc/php.ini

7.复制服务启动的service文件
    # cd /data/php-7.3.10
    # cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/

8.复制php-fpm.conf文件
    # cd /app/php/etc/
    # mv php-fpm.conf.default php-fpm.conf

9.复制www.conf配置文件
    # cd /app/php/etc/
    # mv php-fpm.d/www.conf.default php-fpm.d/www.conf

10.修改www.conf配置文件
    # php-fpm.d/www.conf
        user = apache
        group = apache
    
11.启动php-fpm程序
    # systemctl  start php-fpm.service

将httpd和php-fpm关联

  • 此处关联的意思是httpd本身不能处理php资源请求,需要php-fpm进程帮助处理php资源请求。
  • 配置httpd支持php
# vim /app/httpd24/conf/httpd.conf
    
1.取消下面两行的注释
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

2.修改下面行
    <IfModule dir_module>
        DirectoryIndex index.php index.html
    </IfModule>

3.加下面四行
    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
  • 测试是否能处理php请求:
    浏览器:http://192.168.38.17/test.php

mariadb的二进制安装

(1)准备用户
    # groupadd -g 27 -o -r mysql
    # useradd -s /sbin/nologin -r -d /data/mysql -g 27 -u 27 -c "mysql server" mysql

(2)准备数据目录
    # mkdir /data/mysql -p
    # chown mysql.mysql /data/mysql/

(3)解压缩
    # tar xf mariadb-10.2.27-linux-x86_64.tar.gz -C /usr/local/
    # cd /usr/local/
    # ln -s ./mariadb-10.2.27-linux-x86_64/ mysql
    # chown -R root.root mysql/

(4)准备配置文件
    # cp  -b support-files/my-huge.cnf  /etc/my.cnf 
    # vim /etc/my.cnf
        [mysqld]
        datadir=/data/mysql
        skip_name_resolve=on 

(5)创建数据库文件
    # yum install -y libaio
    # /usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysql --user=mysql

(6)准备服务脚本,并启动服务
    # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    # chkconfig --add mysqld

(7)PATH路径
    # echo 'PATH=/usr/local/mysql/bin:$PATH' >/etc/profile.d/mysql.sh
    # . /etc/profile.d/mysql.sh

==>二进制安装mariadb完成

测试:源码安装lamp部署discuz!

1.在hostB主机上数据库中创建discuz账户
    mysql> grant all on *.* to discuz@'192.168.38.%' identified by 'centos';

2.解压discuz!
    # unzip Discuz_X3.3_SC_UTF8.zip 

3.将解压后的upload文件夹移动至主页
    # mv upload/* /app/httpd24/htdocs/

4.对目录授权:
    # setfacl -R -m u:apache:rwx /app/httpd24/htdocs/

5.浏览器:http://192.168.38.17/
    discuz!安装向导
  • discuz!安装向导

启用opcache加速

1.搜索含义opchche加速相关选项
    # grep opcache /etc/php.ini 

2.启用opcache加速器?
    暂时没解决

3.源码编译安装选项:
    可能是源码编译安装时未添加此选项导致的:--enable-opcache

与opcache相关选项:
zend_extension=opcache
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.blacklist_filename=/etc/php.d/opcache*.blacklist
opcache.huge_code_pages=1

一键安装lamp脚本?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值