要求:
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服务,并打开浏览器检测
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)打开浏览器测试
四.在虚拟主机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
五.在虚拟主机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)登录浏览器查看
六.为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)打开浏览器验证(浏览器须事先将根证书导入并添加信任)
原文:http://11650412.blog.51cto.com/11640412/1831738