专注于云服务器
VPS主机优惠测评
国内免备案虚拟主机

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

文章目录[隐藏]

  • 总结

lamp架构wordpress和discuzx教程

  • 背景
    • 虚拟主机
    • fastcgi
  • 部署流程
    • 部署架构
      • 环境
      • 架构图
    • 编译软件
      • 安装开发环境和必要的包
      • 编译httpd
      • 编译php
      • 安装mariadb
    • 配置文件修改
      • 修改httpd主机
      • 修改fast-cgi主机
      • 配置mysql
      • 宿主机的hosts文件修改
      • 安装wordpress和Discuzx

背景

虚拟主机

  如今服务器的配置提升明显,单一主机上部署单一网站会对主机造成大量的性能损失,因此web服务虚拟主机的技术应运而生。所谓虚拟主机指的是在一台机器上运行多个网站(如company1.example.com和company2.example.com)的做法 。虚拟主机可以是“ 基于IP的 ”,这意味着每个网站都有不同的IP地址,或者“ 基于名称 ”,这意味着每个IP地址上都有多个名称,或者“基于端口”,这意味着在同一ip的不同端口上提供不同的网站,通过这些方法使得他们在同一台物理服务器上运行的事实对最终用户来说并不明显。
  Apache是第一批支持基于IP的虚拟主机的服务器之一。Apache的版本1.1及更高版本支持基于IP和基于名称的虚拟主机(虚拟主机)。虚拟主机的后一种变型有时也被称为基于主机的或非IP虚拟主机。
  

fastcgi

  FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。
FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等。
  
  

部署流程

  

部署架构

  

环境

  
3台主机用于分别部署httpd,php和mysql,实现分离
软件版本

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程
  

架构图

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

编译软件


这里我们需要编译的软件为httpd和php,mysql可以考虑使用二进制包或者直接官方yum安装
  

安装开发环境和必要的包

1.安装centos开发工具包

yum groupinstall "development tools" -y 

2.安装编译httpd和php需要的包

#部分包需要epel源  #yum install epel-release -y yum install pcre-devel openssl-devel expat-devel libxml2-devel bzip2-devel libmcrypt-devel -y 

编译httpd

这里在192.168.99.130机器上编译httpd2.4

1.创建apache用户

useradd -r apache -s /sbin/nologin 

2.解压httpd,apr,apr-util源码包,这里需要的包均可在httpd官网下到

tar xvf httpd-2.4.33.tar.bz2 tar xvf apr-1.6.2.tar.gz tar xvf apr-util-1.6.1.tar.gz 

3.编译httpd

#移动解压的apr和apr-util到指定的httpd源码目录可以省去分别编译3个程序  mv apr-1.6.2 httpd-2.4.33/srclib/apr  mv apr-util-1.6.1 httpd-2.4.33/srclib/apr-util  #编译参数,具体含义可以参考./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  make && make install 

4.配置环境变量

vim /etc/profile.d/httpd.sh  PATH=/app/httpd24/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin  source /etc/profile.d/httpd.sh 

编译php

由于这里为了实现多机分离,因此在192.168.99.131主机上进行编译

1.解压PHP源码

tar xvf php-7.1.18.tar.bz2 

2.进入目录

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

3.配置文件设置

cd php-7.1.18/ cp php.ini-production /etc/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 php-fpm on  cd /app/php/etc cp php-fpm.conf.default php-fpm.conf cp php-fpm.d/www.conf.default php-fpm.d/www.conf service php-fpm start 

安装mariadb

  
这里不再多谈maraidb安装,之前的博客有很详细的mariadb部署细节。这里推荐直接yum安装就好。
  
  

配置文件修改

修改httpd主机

  

1.支持代理模块

vim /app/httpd24/conf/httpd.conf  #取消下面两行的注释 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so  #修改下面行 <IfModule dir_module> DirectoryIndex index.php index.html 

2.编辑虚拟主机配置

<VirtualHost *:80>   DocumentRoot "/data/web1/wp"   ServerName www.douma.com   ErrorLog "logs/a.com.error_log"   TransferLog "logs/a.com-access_log"   AddType application/x-httpd-php .php   AddType application/x-httpd-php-source .phps   ProxyRequests Off   ProxyPassMatch ^/(.*.php)$ fcgi://192.168.99.131:9000/app/web1/wp/$1 <directory "/data/web1/wp"> require all granted </directory> </VirtualHost>  <VirtualHost *:80>   DocumentRoot "/data/web2/dz"   ServerName www.fansity.com   ErrorLog "logs/b.com.error_log"   TransferLog "logs/b.com-access_log" <directory "/data/web2/dz"> require all granted </directory>   AddType application/x-httpd-php .php   AddType application/x-httpd-php-source .phps   ProxyRequests Off   ProxyPassMatch ^/(.*.php)$ fcgi://192.168.99.131:9000/app/web2/dz/$1 </VirtualHost> 

3.创建站点目录

# httpd主机  mkdir -pv /data/web{1,2} #wordpress  tar xvf wordpress-4.9.4-zh_CN.tar.gz  mv wordpress web1/  cd web1  ln -sv wordpress wp  #修改配置文件  vim web1/wp/wp-config-sample.php  mv wp-config-sample.php wp-config.php 

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

wordpress基本配置完成,之后复制到fast-cgi机器的对应目录(要先在对应主机创建好目录)

scp -pr wordpress 192.168.99.131:/app/web1/ 

安装Discuzx

cd /data/web2/ git clone https://gitee.com/ComsenzDiscuz/DiscuzX.git cp -a DiscuzX/upload web2/ ln -sv upload dz 

复制文件到fast-cgi主机(要在另一台主机创建好对应目录)

scp -pr upload 192.168.99.131:/app/web2/ 

4.启动httpd服务

apachectl start 

修改fast-cgi主机

  
1.站点目录修改

#创建对应目录,要在httpd主机复制文件到fast-cgi之前 mkdir -pv /app/web{1,2}  #创建软连接 cd /app/web1 ln -sv wordpress wp  #复制配置文件并且修改 mv wordpress/wp-config-simple.php  wordpress/wp-config.php  vim  wordpress/wp-config.php   cd /app/web2 ln -sv upload dz 

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

2.php修改,并添加apache用户

useradd -r apache -s /sbin/nologin vim /app/php/etc/php-fpm.d/www.conf  #修改运行用户为apache #修改监听ip #注释掉仅仅允许本机访问  #重新启动php-fpm service php-fpm restart  #由于论坛安装时候会修改文件所以要给upload目录添加apache的权限  setfacl -R -m u:apache:rwx /app/web2/upload/ 

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

配置mysql

  
1.创建账号

MariaDB [(none)]> grant all on *.* to admin identified by 'admin'; #刷新权限 MariaDB [(none)]> flush privileges; 

2.创建wp数据库,论坛会在安装时候自动创建

MariaDB [(none)]> create database wp; 

宿主机的hosts文件修改

  
由于是基于域名的虚拟主机,所以在没有DNS的情况下,要想正常访问,就要在宿主机上修稿hosts文件

#win C:WindowsSystem32driversetchosts #linux /etc/hosts  #添加如下信息 192.168.99.130  www.douma.com 192.168.99.130  www.fansity.com 

安装wordpress和Discuzx

  
1.安装wordpress
在宿主机浏览器上打开www.douma.com
会自动跳转到安装页面
配置好对应信息点击安装wordpress

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

2.安装Discuzx
在宿主机浏览器上打开www.fansity.com
自动跳转到安装页面

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

点击同意

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

点击下一步

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

继续下一步

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

填写完成后点击下一步进行自动安装

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

安装完成

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

点击右下角的跳转到论坛

fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程

正常访问,这里论坛基本配置完成。

总结

技术交流请加入我们QQ群 81885552 关注我们名铺123。


赞(0) 打赏
转载请注明出处:晓波笔记 » fastcgi分离和lamp虚拟主机部署wordpress和discuzx教程
分享到: 更多 (0)
megalayer云服务器

raksmart云服务器

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

晓波笔记-VPS主机,云服务器优惠促销测评

QQ:87304394

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏