码迷,mamicode.com
首页 > Web开发 > 详细

CentOS 7, lamp (php-fpm)

时间:2018-04-16 10:18:40      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:fpm

CentOS 7, lamp (php-fpm);
    要求:(1) 三者分离于三台主机;
               (2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;
               (3) xcache


实验环境:

主机
系统
ip地址
部署服务
a
CentOS 7
192.168.2.110apache2.4
b
CentOS 7
192.168.2.111
mariadb
c
CentOS 7
192.168.2.112
php-fpm

一、主机a上部署apache

    (1)在主机1上安装httpd服务

[root@localhost ~]# yum install httpd -y

    (2)检查fcgi模块是否加载

[root@localhost ~]# httpd -M | grep fcgi
 proxy_fcgi_module (shared)

    (3)创建配置文件

[root@localhost ~]# vim /etc/httpd/conf.d/fcgi.conf

DirectoryIndex index.php
ProxyRequests off

    (4)创建虚拟主机配置文件

[root@localhost ~]# vim /etc/httpd/conf.d/vhosts.conf

<VirtualHost 192.168.2.110:80>
        DocumentRoot /www/htdocs/web1/pma
        ServerName pma.mylinuxops.com
        ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.2.112:9000/www/htdocs/web1/pma/$1
        <Directory /www/htdocs/web1/pma>
                Options none
                AllowOverRide none
                Require all granted
        </Directory>
</VirtualHost>
<VirtualHost 192.168.2.110:80>
        DocumentRoot /www/htdocs/web2/wordpress
        ServerName wp.mylinuxops.com
        ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.2.112:9000/www/htdocs/web2/wordpress/$1
        <Directory /www/htdocs/web2/wordpress>
                Options none
                AllowOverRide none
                Require all granted
        </Directory>
</VirtualHost>

    (5)启动httpd服务

[root@localhost ~]# systemctl start httpd

二、在主机b上部署mariadb

    (1)安装mariadb-server

[root@localhost ~]# yum install -y mariadb-server

    (2)启动mariadb

[root@localhost ~]# systemctl start mariadb

    (3)对mariadb执行安全环境部署

[root@localhost ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] n
 ... skipping.
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] n
 ... skipping.
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

    (4)创建wordpress及pma所需的用户及数据库

[root@localhost ~]# mysql -uroot -proot
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE wpdb;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> USE wpdb;
Database changed

MariaDB [wpdb]> GRANT ALL ON wpdb to 'wpuser'@'192.168.2.112' IDENTIFIED BY 'wpuser';
Query OK, 0 rows affected (0.00 sec)

三、在主机c上部署php-fpm

    (1)安装php-fpm php-mysql php-mbstring

[root@localhost ~]# yum install php-fpm php-mysql php-mbstring -y

    (2)修改php-fpm配置文件

[root@localhost ~]# vim /etc/php-fpm.d/www.conf

listen = 192.168.2.112:9000
listen.allowed_clients = 192.168.2.110

    (3)创建/var/lib/php/session目录

[root@localhost ~]# mkdir -pv /var/lib/php/session    默认/var/lib/php/session目录不存在,所以我们要创建此目录
[root@localhost ~]# chown apache:apache /var/lib/php/session    修改属主属组为apache

    (4)启动php-fpm

[root@localhost ~]# systemctl start php-fpm


四、安装部署应用

注意:因为此次试验是将apache 和 php-fpm 分开部署的, 用户访问的动态资源请求会直接转到 [192.168.2.112 php-fpm]主机上, 因此我们的网站目录也需要部署到 [192.168.2.112 php-fpm]主机上 也就是说,网站目录在[192.168.2.112 php-fpm]和[192.168.2.110 apache]各有一份 那么我们怎么做呢.只需要在[192.168.2.110 apache]部署完成以后直接推送到[192.168.2.112 php-fpm]主机上

    (1)在主机c上创建网站目录

[root@localhost ~]# mkdir -pv /www/htdocs/web{1,2}
mkdir: 已创建目录 "/www"
mkdir: 已创建目录 "/www/htdocs"
mkdir: 已创建目录 "/www/htdocs/web1"
mkdir: 已创建目录 "/www/htdocs/web2"

    (2)安装pma

1.解压pma文件
[root@localhost ~]# unzip phpMyAdmin-4.0.10.20-all-languages.zip
2.将文件复制到网站目录下
[root@localhost ~]# cp -a phpMyAdmin-4.0.10.20-all-languages /www/htdocs/web1/phpMyAdmin-4.0.10.20-all-languages
3.创建链接文件
[root@localhost ~]# cd /www/htdocs/web1/
[root@localhost web1]# ln -sv phpMyAdmin-4.0.10.20-all-languages pma
"pma" -> "phpMyAdmin-4.0.10.20-all-languages"
4.修改配置文件
[root@localhost web1]# cd pma
[root@localhost pma]# cp config.sample.inc.php config.inc.php
[root@localhost pma]# vim config.inc.php

$cfg['blowfish_secret'] = 'a8b7c6d'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
$cfg['Servers'][$i]['host'] = '192.168.2.111';

    (3)安装wordpress

1.解压wordpress
[root@localhost ~]# tar -xf wordpress-4.9.4-zh_CN.tar.gz
2.将文件复制到网站目录下
[root@localhost ~]# cp -a wordpress /www/htdocs/web2/
[root@localhost ~]# cd /www/htdocs/web2/wordpress/
3.修改配置文件
[root@localhost wordpress]# cp wp-config-sample.php wp-config.php
[root@localhost wordpress]# vim wp-config.php

define('DB_NAME', 'wpdb');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'wpuser');
define('DB_HOST', '192.168.2.111');

    (4)将主机C上/www目录推送至主机a上

[root@localhost wordpress]# scp -rp /www root@192.168.2.110:/www

    (5)连接pma及wordpress

技术分享图片技术分享图片

安装成功


五、xcache

[root@localhost wordpress]# yum install php-xcache -y








CentOS 7, lamp (php-fpm)

标签:fpm

原文地址:http://blog.51cto.com/11886307/2103720

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!