CentOS 7, lamp (php-fpm)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7, lamp (php-fpm)相关的知识,希望对你有一定的参考价值。
CentOS 7, lamp (php-fpm);
要求:(1) 三者分离于三台主机;
(2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;
(3) xcache
实验环境:
主机 | 系统 | ip地址 | 部署服务 |
a | CentOS 7 | 192.168.2.110 | apache2.4 |
b | CentOS 7 | 192.168.2.111 | mariadb |
c | CentOS 7 | 192.168.2.112 | php-fpm |
一、主机a上部署apache
(1)在主机1上安装httpd服务
[[email protected] ~]# yum install httpd -y
(2)检查fcgi模块是否加载
[[email protected] ~]# httpd -M | grep fcgi proxy_fcgi_module (shared)
(3)创建配置文件
[[email protected] ~]# vim /etc/httpd/conf.d/fcgi.conf DirectoryIndex index.php ProxyRequests off
(4)创建虚拟主机配置文件
[[email protected] ~]# 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服务
[[email protected] ~]# systemctl start httpd
二、在主机b上部署mariadb
(1)安装mariadb-server
[[email protected] ~]# yum install -y mariadb-server
(2)启动mariadb
[[email protected] ~]# systemctl start mariadb
(3)对mariadb执行安全环境部署
[[email protected] ~]# 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所需的用户及数据库
[[email protected] ~]# 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
[[email protected] ~]# yum install php-fpm php-mysql php-mbstring -y
(2)修改php-fpm配置文件
[[email protected] ~]# 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目录
[[email protected] ~]# mkdir -pv /var/lib/php/session 默认/var/lib/php/session目录不存在,所以我们要创建此目录 [[email protected] ~]# chown apache:apache /var/lib/php/session 修改属主属组为apache
(4)启动php-fpm
[[email protected] ~]# 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上创建网站目录
[[email protected] ~]# mkdir -pv /www/htdocs/web{1,2} mkdir: 已创建目录 "/www" mkdir: 已创建目录 "/www/htdocs" mkdir: 已创建目录 "/www/htdocs/web1" mkdir: 已创建目录 "/www/htdocs/web2"
(2)安装pma
1.解压pma文件 [[email protected] ~]# unzip phpMyAdmin-4.0.10.20-all-languages.zip 2.将文件复制到网站目录下 [[email protected] ~]# cp -a phpMyAdmin-4.0.10.20-all-languages /www/htdocs/web1/phpMyAdmin-4.0.10.20-all-languages 3.创建链接文件 [[email protected] ~]# cd /www/htdocs/web1/ [[email protected] web1]# ln -sv phpMyAdmin-4.0.10.20-all-languages pma "pma" -> "phpMyAdmin-4.0.10.20-all-languages" 4.修改配置文件 [[email protected] web1]# cd pma [[email protected] pma]# cp config.sample.inc.php config.inc.php [[email protected] 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 [[email protected] ~]# tar -xf wordpress-4.9.4-zh_CN.tar.gz 2.将文件复制到网站目录下 [[email protected] ~]# cp -a wordpress /www/htdocs/web2/ [[email protected] ~]# cd /www/htdocs/web2/wordpress/ 3.修改配置文件 [[email protected] wordpress]# cp wp-config-sample.php wp-config.php [[email protected] 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上
[[email protected] wordpress]# scp -rp /www [email protected]:/www
(5)连接pma及wordpress
安装成功
五、xcache
[[email protected] wordpress]# yum install php-xcache -y
以上是关于CentOS 7, lamp (php-fpm)的主要内容,如果未能解决你的问题,请参考以下文章
CentOS 7 yum安装lamp,三者位于不同服务器,并为之安装WordPress及phpmyadmin