前言

最近没更新新篇幅了,今天就来点干活,过多的也不说了下面着手干!干!干!

准备环境

centos7.5
apr-1.6.3.tar.gz 
apr-util-1.6.1.tar.gz     
httpd-2.4.34.tar.bz2                
php-7.1.18.tar.bz2
mariadb-10.2.16-linux-x86_64.tar.gz 
wordpress-4.9.4-zh_CN.tar.gz

编译HTTP

1、安装包组以及相关包

  1. yum groupinstall "development tools"
  2. yum install pcre-devel openssl-devel expat-devel

2、创建用户与解压

  1. useradd -r -s /sbin/nologin apache
  2. tar xf httpd-2.4.34.tar.bz2
  3. tar xf apr-1.6.3.tar.gz
  4. tar xf apr-util-1.6.1.tar.gz

3、移动apr目录

  1. mv apr-1.6.3 httpd-2.4.34/srclib/apr
  2. mv apr-util-1.6.1 httpd-2.4.34/srclib/apr-util

4、源码编译

  1. cd httpd-2.4.34/
  2.  
  3. ./configure --prefix=/app/httpd24 \
  4. --enable-so \
  5. --enable-ssl \
  6. --enable-cgi \
  7. --enable-rewrite \
  8. --with-zlib \
  9. --with-pcre \
  10. --enable-modules=most \
  11. --enable-mpms-shared=all \
  12. --with-mpm=prefork \
  13. --with-included-apr
  14.  
  15. make && make install

5、设置环境变量

  1. echo 'PATH=/app/httpd24/bin:$PATH' > /etc/profile.d/lamp.sh

6、编辑配置文件

  1. vim /app/httpd24/conf/httpd.conf
  2.  
  3. user apache
  4. group apache
  5.  
  6. 取消下面注释
  7. LoadModule proxy_module modules/mod_proxy.so
  8. LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
  9.  
  10. 在下面行添加index.php
  11. IfModule dir_module>
  12. DirectoryIndex index.php index.html
  13. </IfModule>
  14.  
  15. 添加子配置文件
  16. Include conf/extra/php.conf

7、编辑子配置文件

  1. vim /app/httpd24/conf/extra/php.conf
  2.  
  3. 添加以下内容
  4. AddType application/x-httpd-php .php
  5. AddType application/x-httpd-php-source .phps
  6.  
  7. ProxyRequests Off
  8. ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1

8、启动服务

  1. apachectl

二进制安装MYSQL

1、在前几篇里有提到详细的安装过程,这里就直接干活代码

  1. useradd -r -s /sbin/nologin mysql
  2.  
  3. tar xvf mariadb-10.2.16-linux-x86_64.tar.gz -C /usr/local/
  4.  
  5. cd /usr/local/
  6.  
  7. ln -s mariadb-10.2.16-linux-x86_64/ mysql
  8.  
  9. chown -R mysql.mysql mysql/
  10.  
  11. mkdir /app/mysql
  12.  
  13. chown mysql.mysql /app/mysql
  14.  
  15. cd /usr/local/mysql/
  16.  
  17. scripts/mysql_install_db --datadir=/app/mysql --user=mysql
  18.  
  19. mkdir /etc/mysql/
  20.  
  21. cp support-files/my-huge.cnf /etc/mysql/my.cnf
  22.  
  23. vim /etc/mysql/my.cnf
  24.  
  25. datadir=/app/mysql
  26.  
  27. cp support-files/mysql.server /etc/init.d/mysqld
  28.  
  29. chkconfig --add mysqld
  30.  
  31. chkconfig --list
  32.  
  33. service mysqld start
  34.  
  35. vim /etc/profile.d/lamp.sh
  36.  
  37. PATH=/app/httpd24/bin:/usr/local/mysql/bin:$PATH
  38.  
  39. mysql -e "create database wpdb;grant all on wpdb.* to wpuser@'localhost' identified by 'centos'"

备注:这里可以跑下mysql安全脚本,做下安全巩固--请看https://www.cnblogs.com/xsuid/p/9368389.html

PHP编译安装

1、安装包与解压

  1. yum install libxml2-devel bzip2-devel libmcrypt-devel
  2.  
  3. tar xvf php-7.1.18.tar.bz2

2、源码编译

  1. cd php-7.1.18/
  2. ./configure --prefix=/app/php \
  3. --enable-mysqlnd \
  4. --with-mysqli=mysqlnd \
  5. --with-openssl \
  6. --with-pdo-mysql=mysqlnd \
  7. --enable-mbstring \
  8. --with-freetype-dir \
  9. --with-jpeg-dir \
  10. --with-png-dir \
  11. --with-zlib \
  12. --with-libxml-dir=/usr \
  13. --enable-xml \
  14. --enable-sockets \
  15. --enable-fpm \
  16. --with-config-file-path=/etc \
  17. --with-config-file-scan-dir=/etc/php.d \
  18. --enable-maintainer-zts \
  19. --disable-fileinfo
  20.  
  21. make -j 4 && make install

3、环境变量

  1. vim /etc/profile.d/lamp.sh
  2. PATH=/app/php/bin:/app/httpd24/bin:/usr/local/mysql/bin:$PATH

4、php设置

  1. cp php.ini-production /etc/php.ini
  2. cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
  3. PHP配置文件
  4.  
  5. chmod +x /etc/init.d/php-fpm
  6. chkconfig --add php-fpm
  7. chkconfig php-fpm on
  8. 启动程序
  9.  
  10. cd /app/php/etc
  11. cp php-fpm.conf.default php-fpm.conf
  12. cp php-fpm.d/www.conf.default php-fpm.d/www.conf
  13. php fastcgi配置文件,根据情况来更改

5、启动服务

  1. service php-fpm start

安装wordpress

  1. tar xvf wordpress-4.9.4-zh_CN.tar.gz
  1.  
  1. cp -a wordpress/* /app/httpd24/htdocs/
  1.  
  1. cd /app/httpd24/htdocs/
  2.  
  3. mv wp-config-sample.php wp-config.php
  4.  
  5. vim wp-config.php
  1.  
  1. 根据上面mysql创建信息更改

附加虚拟主机的实现

  1. 编辑文件
  2. vim /etc/httpd/conf.d/vhosts.conf
  3. DirectoryIndex index.php
  4. <VirtualHost *:80>
  5. ServerName www.pma.com
  6. DocumentRoot /var/www/html/
  7. ProxyRequests Off
  8. ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/pma/$1
  9. <Directory "/var/www/html">
  10. Require all granted
  11. </Directory>
  12. </VirtualHost>
  13.  
  14. <VirtualHost *:80>
  15. ServerName www.wordpress.com
  16. DocumentRoot /var/www/html/
  17. ProxyRequests Off
  18. ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/wordpress/$1
  19. <Directory "/var/www/html">
  20. Require all granted
  21. </Directory>
  22. </VirtualHost>
  23.  
  24. <VirtualHost *:80>
  25. ServerName www.forum.com
  26. DocumentRoot /var/www/html/
  27. ProxyRequests Off
  28. ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/forum/$1
  29. <Directory "/var/www/html">
  30. Require all granted
  31. </Directory>
  32. </VirtualHost>

结语:后续更精彩

编译-LAMP基于fastcgi的更多相关文章

  1. 编译安装基于 fastcgi 模式的多虚拟主机的wordpress和discuz的LAMP架构

    目录 实现CentOS 7 编译安装基于 fastcgi 模式的多虚拟主机的wordpress和discuz的LAMP架构 准备环境: 准备软件版本: 主机名修改用以区分 数据库服务器 实现数据库二进 ...

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

    CentOS6编译LAMP基于FPM模式的应用wordpress 引言:其实我们可以直接使用yum安装LAMP(Linux+Apache[httpd]+Mysql+PHP),比手动编译安装LAMP要简 ...

  3. 编译安装基于fastcgi模式的多虚拟主机的wordpress和discuz的LAMP架构

    一.环境准备 两台主机: httpd+php(fastcgi模式) mariadb 服务器 软件版本: mariadb-10.2.40-linux-x86_64.tar.gz apr-1.7.0.ta ...

  4. 生产环境LAMP搭建 - 基于 fastcgi

    生产环境LAMP搭建 - 基于 fastcgi 由于在module模式,php只是已http的模块形式存在,无形中加重了http的服务负载,通常在企业架构中,使用fastcgi的模式,将所有的服务都设 ...

  5. Httpd服务进阶知识-基于FASTCGI实现的LAMP架构

    Httpd服务进阶知识-基于FASTCGI实现的LAMP架构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.httpd+php结合的方式 module: php fastcgi ...

  6. 编译LAMP部署动态网站环境

    LAMP动态网站部署架构是由一套 Linux+Apache+MySQL+PHP 组成的动态网站系统解决方案. 以下配置环境为:Linux=RHEL7 --> Apache=2.4.33 --&g ...

  7. 源代码编译lamp环境

    没有办法用 rpm查询一个源代码包是否安装 因为 并不是用rpm安装的 可以先吧 selinux 给禁用掉  iptables -F 把防火墙规则全部删除 首先确保 gcc  gcc-c++   ma ...

  8. 编译安装基于nginx与lua的高性能web平台-openresty

    1.首先编译安装nginx(不多说) 2.开始安装openresty cd /usr/local/src wget https://openresty.org/download/openresty-1 ...

  9. qemu模拟器下编译运行基于riscv指令集的Linux操作系统

      基本原理: 在物理服务器Ubuntu14.04上安装qemu模拟器,模拟器中运行基于riscv指令集编译的linux镜像文件. 用到的工具包括: riscv-qemu(模拟器,可以模拟运行risc ...

随机推荐

  1. shell编程 Shell script 的默认变量($0, $1...)

    Shell script 的默认变量($0, $1...) 我们知道指令可以带有选项与参数,例如 ls -la 可以察看包含隐藏文件的所有属性与权限.那么 shell script 能不能在脚本文件名 ...

  2. NET Core中使用Redis和Memcached

    .NET Core中使用Redis和Memcached的序列化问题   前言 在使用分布式缓存的时候,都不可避免的要做这样一步操作,将数据序列化后再存储到缓存中去. 序列化这一操作,或许是显式的,或许 ...

  3. Linux 解压压缩war包

    jar -xvf aaa.war   (jar只能解压war 包到当前目录下) unzip aaa.war -d aaa/   (解压war包到aaa目录下) 打包aaa 下的所有文件为aaa.war ...

  4. E. Selling Souvenirs 不会做

    http://codeforces.com/contest/808/problem/E 不理解为什么dp = {cost, cnt1, cnt2}可以 而dp = {cost, cnt1, cnt2, ...

  5. (转)nginx应用总结(2)--突破高并发的性能优化

    原文:http://www.cnblogs.com/kevingrace/p/6094007.html 在日常的运维工作中,经常会用到nginx服务,也时常会碰到nginx因高并发导致的性能瓶颈问题. ...

  6. Array.isArray() 和 isObject() 原生js实现

    function isObject(val) { return val != null && typeof val === 'object' && Array.isAr ...

  7. JAVA的API部分介绍

    个人理解: Object作为最大的父类,里面存在不少方法,可以在API中具体的查找.比如可以帮助查看是否相同的equals方法,不过要想看具体属性是否相同需要得重写,打印.调用对象相当于调用其tost ...

  8. 【Java】 hashcode()和System.identityHashCode()

    hashcode()和System.identityHashCode() openjdk8: http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/5b86f ...

  9. ABAP系统字段

    SY是一个全局的结构体变量,在词典中已定义过.输入SE11到ABAP字典中. 输入SYST点击显示 附录D 系统字段功能列表 字段名 类型 长度 应用目的 说明 ABCDE CHAR 26 常量 字母 ...

  10. android studio项目提交Git@OSC

    转载地址:http://www.bubuko.com/infodetail-977061.html 先到git.oscchina.net网站上申请个账号,然后创建一个项目.过程不再说了. 新建工程后, ...