要求:

1.在三台主机上面搭建LNMP

2.搭建两个虚拟主机分别部署wordpress和phpMyadmin,

3.为后一主机提供https


实现步骤:


一.准备四台主机

nginx主机: 172.16.10.17/16   192.168.10.17/24

php主机: 192.168.10.27/24

mysql主机: 192.168.10.87/24

CA签证主机: 172.16.10.77

二.分别在三台主机上安装相关软件包

nginx主机:nginx

php主机:php-fpm   php-mysql  php-mbstring

mysql主机:mariadb

三.搭建LNMP

1.配置nginx

1)编辑配置文件 

vim /etc/nginx/nginx.conf

  添加下列内容,

server {

        listen          80 default_server;

        server_name       www1.douhua.com;

      root            /data/html/www1;

    }

    server {

        listen        80 ;

        server_name     www2.douhua.com;

        root          /data/html/www2;

    }


2)创建网页文件目录,主页文件

mkdir -pv /data/html/www{1,2}

分别在两个目录中创建index.html文件

cd /data/html/www1

编辑主页文件

            vim index.html

添加一行内容  

            <h1> www1 page </h1>

www2目录中同理

3)检测语法错误并开启nginx服务,并使用浏览器验证

检测语法   nginx   -t   

开启服务   nginx

2.配置nginx与php-fpm的连接 

1)编辑nginx配置文件,添加location,配置与php-fpm的连接相关


location ~ \.php{

                root            www1;    

                fastcgi_pass   192.168.10.27:9000;   

              fastcgi_index   index.php;

                fastcgi_param   SCRIPT_FILENAME    /data/php/www1$fastcgi_script_name;

              include       fastcgi_params;

      }


上述配置文件表示:

root 根目录

fastcgi_pass    php-fpm监听的地址与端口

              fastcgi_index    主页文件

                fastcgi_param   nginx服务器上文件映射至php-fpm服务器上的文件路径

              include       包含fastcgi_params中的配置

虚拟主机2配置同虚拟主机1

2)在虚拟资源目录中添加index.php文件

touch  /data/html/www1/index.php

3)在php-fpm主机上编辑配置文件

vim /etc/php-fpm.d/www.conf

更改监听地址与允许的客户端


listen = 192.168.10.27:9000

listen.allowed_clients = 192.168.10.17

4)编辑测试文件

a)创建目录

mkdir -pv /data/php/www{1,2}

b)进入该目录,并编辑测试文件

cd /data/php/www1

vim index.php

内容为:


<h1> Test 1 </h1>


<?php

phpinfo();

?>


5)重启php-fpm服务,并打开浏览器检测

http://172.16.10.17/index.php

        wKiom1ebABHCnsIIAAFS7TZxfV0413.jpg-wh_50










3.配置php-fpm与mysql的连接

1)在mysql主机上启动mariadb服务

2)登录mysql,创建测试所需用户

MariaDB [(none)]> GRANT ALL ON testdb.* TO 'testuser'@'192.168.%.%' IDENTIFIED BY 'passwd';

3)在php-fpm主机上修改测试文件index.php内容为:


<h1>Test php-mysql </h1>


<?php

        $conn = mysql_connect('192.168.10.87','testuser','passwd');

        if ($conn)

                echo "ok";

else

                echo "false";

?>


4)打开浏览器测试

http://172.16.10.17/index.php


wKioL1ebAN2wflSSAABjc4DBl8M819.jpg-wh_50












四.在虚拟主机www1.douhua.com上部署wordpress


1)下载并解压wordpress包

2)将解压后的包拷贝至php-fpm主机上的/data/php/www1目录下

3)拷贝配置文件并编辑

cp wp-config-sample.php  wp-config.php

编辑配置文件


vim  wp-config.php

define('DB_NAME', 'wpdb'); /** WordPress数据库的名称 */

define('DB_USER', 'wpuser'); /** MySQL数据库用户名 */

define('DB_PASSWORD', 'passwd'); /** MySQL数据库密码 */

define('DB_HOST', '192.168.10.87'); /** MySQL主机 */


4)在mysql主机上创建用户和数据库

MariaDB [(none)]> GRANT ALL ON wpdb.* TO 'wpuser'@'192.168.%.%' IDENTIFIED BY 'passwd';

MariaDB [(none)]> CREATE DATABASE wpdb;

5)在nginx主机上做相关配置

拷贝解压后的wordpress文件至/data/html/www1目录中

cp -r /root/wordpress   /data/html/www1

6)打开浏览器验证(事先配置好DNS解析,或者直接输入ip地址访问)

http://www1.douhua.com/wordpress/index.php    


wKiom1ebAZWjHmrzAAEORgcJBg4289.jpg-wh_50

 

五.在虚拟主机www2.douhua.com上部署phpMyadmin


1)下载并解压phpMyadmin包

2)将解压后的包拷贝至php-fpm主机上的/data/php/www2目录下

3)生成随机数并以便添加至phpMyadmin配置文件中

4)创建软链接便于管理

cd  /data/php/www2

ln -sv  phpMyAdmin-4.4.14.1-all-languages pma

5)修改phpMyadmin配置文件

cd pma

cp config.sample.inc.php config.inc.php

vim config.inc.php

添加随机数至$cfg['blowfish_secret'] = '';中的单引号中

$cfg['blowfish_secret'] = 'ZmAz04rjIHxjgw';

并将服务器地址更改为mysql主机地址

$cfg['Servers'][$i]['host'] = '192.168.10.87';

6)创建php的session目录

mkdir   /var/lib/php/session

chown apache.apache  /var/lib/php/session   

        注:此处用户与php-fpm配置文件中的用户一致

7)在nginx主机上配置

拷贝解压后的phpMyadmin目录至/data/html/www2中并改名为pma

8)登录浏览器查看

http://www2.douhua.com/pma


wKioL1ebAeaBwqB9AAC0dCWM1nk525.jpg-wh_50


六.为www2.douhua.com主机提供https服务


1)创建证书目录,及证书

创建目录:mkdir /etc/nginx/ssl

cd /etc/nginx/ssl

生成私钥

(umask 066;openssl genrsa -out nginx.key 2048)

生成申请证书:

openssl req -new -key nginx.key -out nginx.csr

在另一主机上签证,将签完后的证书拷贝至此目录中

2)编辑配置文件:

vim /etc/nginx/nginx.conf

在www2.douhua.com中添加配置


listen           443 ssl;  

        ssl_certificate         /etc/nginx/ssl/nginx.crt;

        ssl_certificate_key     /etc/nginx/ssl/nginx.key;


3)重载配置文件

nginx   -t 

nginx   -s  reload

4)打开浏览器验证(浏览器须事先将根证书导入并添加信任)

https://www2.douhua.com


wKioL1ebAlOg1h_TAADnyj-nz68533.jpg-wh_50