1.安装LNMP基础服务
# 1.更换nginx源
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
# 2.安装nginx
[root@web01 nginx_php]# yum install -y nginx
# 3.更换php源
[root@web01 ~]# vim /etc/yum.repos.d/php.repo
[php-webtatic]
name = PHP Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck = 0
# 4.安装php
[root@web01 ~]# yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb
# 5.安装MySQL
[root@web01 ~]# yum install -y mariadb-server
2.统一nginx和php的用户
# 1.创建用户和用户组
[root@web01 ~]# groupadd www -g 666
[root@web01 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
# 2.修改nginx的配置文件
[root@web01 ~]# vim /etc/nginx/nginx.conf
user www;
# 3.修改php的配置文件
[root@web01 ~]# vim /etc/php-fpm.d/www.conf
[www]
user = www
group = www
3.启动所有服务并加入开机自启
# 1.启动服务
[root@web01 ~]# systemctl start nginx php-fpm mariadb
# 2.加入开机自启
[root@web01 ~]# systemctl enable nginx php-fpm mariadb
# 3.检查端口和进程
[root@web01 ~]# netstat -lntup|grep -E '80|9000|3306'
[root@web01 ~]# ps -ef|grep -E 'nginx|mysql|php'
4.nginx和php建立连接
# 1.修改nginx配置文件
[root@web01 conf.d]# vim /etc/nginx/conf.d/blog.zls.com.conf
server {
listen 80;
server_name blog.zls.com;
root /website/wordpress;
index index.php index.html;
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIP_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
# 2.创建站点目录
[root@web01 conf.d]# mkdir /website/wordpress -p
# 3.检测nginx和PHP建立连接(这一步可做可不做)
[root@web01 wordpress]# vim /website/wordpress/info.php
<?php
phpinfo();
?>
# 4.打开浏览器访问:http://blog.zls.com/info.php
5.数据库操作
# 1.给数据库的root用户设置一个初始密码(可做可不做)
[root@web01 wordpress]# mysqladmin -uroot password '123'
# 2.创建数据库
MariaDB [(none)]> create database wordpress_db;
# 3.查看数据库是否创建成功(可看可不看)
MariaDB [(none)]> show databases;
# 4.创建用户
MariaDB [(none)]> grant all on wordpress_db.* to wordpress_user@'localhost' identified by '123456';
# 5.查看用户是否创建成功(可看可不看)
MariaDB [(none)]> select user,host from mysql.user;
6.检查php和MySQL是否可以建立连接
# 1.在站点目录下创建一个php连接数据库的代码(可做可不做)
[root@web01 ~]# vim /website/wordpress/mysql.php
<?php
$servername = "localhost";
$username = "wordpress_user";
$password = "123456";
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
// 检测连接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "小哥哥,php可以连接MySQL...";
?>
<img style='100%;height:100%;' src=https://blog.driverzeng.com/zenglaoshi/php_mysql.png>
7.部署WordPress代码
WordPress官网:TP
# 1.下载WordPress
[root@web01 wordpress]# wget https://wordpress.org/latest.tar.gz
# 2.解压WordPress
[root@web01 wordpress]# tar xf wordpress-5.0.3-zh_CN.tar.gz
# 3.保证代码就在/website/wordpress目录下,不要多任何层级的目录
[root@web01 wordpress]# mv wordpress/* ./
8.在web上配置WordPress
# 修改站点目录的权限,否则没有办法创建连接数据库的php代码文件
[root@web01 wordpress]# chown -R www.www /website/wordpress/
部署第二个项目-知乎(WeCenter)
1.写nginx的配置文件,创建知乎站点
# 1.编辑配置文件
[root@web02 ~]# vim /etc/nginx/conf.d/zh.zls.com.conf
server {
listen 80;
server_name zh.zls.com;
root /website/zh;
index index.php index.html;
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
# 1.1 重新加载nginx
[root@web02 zh]# systemctl reload nginx
# 2.创建站点目录
[root@web02 ~]# mkdir /website/zh
# 3.将代码下载到站点目录
[root@web02 zh]# wget http://test.driverzeng.com/Nginx_Code/WeCenter_3-2-1.zip
# 4.解压代码
[root@web02 zh]# unzip WeCenter_3-2-1.zip
# 5.将代码放在站点目录下
[root@web02 zh]# mv WeCenter_3-2-1/* ./
# 6.授权
[root@web02 zh]# chown -R www.www /website/zh/
2.数据库操作
# 1.创建知乎的库
MariaDB [(none)]> create database zh;
# 2.创建知乎的用户
MariaDB [(none)]> grant all on zh.* to zh_user@'localhost' identified by '123';
目前来说,两个博客和两个知乎都搭建出来了,但是...数据不统一,因为用的两台不同的数据库
准备环境
主机名 | wanIP | lanIP | 搭建服务 |
---|---|---|---|
db01 | 10.0.0.51 | 172.16.1.51 | MySQL |
web01 | 10.0.0.7 | 172.16.1.7 | 网站 |
web02 | 10.0.0.8 | 172.16.1.8 | nginx和php |
1.在db01上安装数据库
# 1.安装数据库
[root@db01 ~]# yum install -y mariadb-server
# 2.启动并添加开机自启
[root@db01 ~]# systemctl start mariadb
[root@db01 ~]# systemctl enable mariadb
# 3.给root,密码
[root@db01 ~]# mysqladmin -uroot password '123'
# 4.连接数据库
[root@db01 ~]# mysql -uroot -p123
# 6.创建wordpress的用户和知乎用户
MariaDB [(none)]> grant all on *.* to php_user@'%' identified by '111';
# 7.导出web02的数据
[root@web02 ~]# mysqldump -uroot -p123 -B wordpress_db > /tmp/wordpress.sql
# 8.发送给新的数据库
[root@web02 ~]# scp /tmp/wordpress.sql root@10.0.0.51:/tmp/
# 9.导入数据(二选一)
[root@db01 ~]# cat /tmp/wordpress.sql | mysql -uroot -p123
[root@db01 ~]# mysql -uroot -p123 < /tmp/wordpress.sql
2.修改php连接数据库的代码
[root@web01 wordpress]# vim /website/wordpress/wp-config.php
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress_db');
/** MySQL数据库用户名 */
define('DB_USER', 'php_user');
/** MySQL数据库密码 */
define('DB_PASSWORD', '111');
/** MySQL主机 */
define('DB_HOST', '10.0.0.51');
3.共享存储,存放图片
# 1.安装nfs
[root@nfs ~]# yum install -y nfs-utils
# 2.修改nfs的配置文件
[root@nfs ~]# vim /etc/exports
/file_system 172.16.1.0/24(sync,rw,all_squash,anonuid=666,anongid=666)
# 3.创建用户
[root@nfs ~]# groupadd www -g 666
[root@nfs ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
# 4.创建共享存储目录
[root@nfs ~]# mkdir /file_system
# 5.授权(忽略)
[root@nfs ~]# chown -R www.www /file_system/
# 6.启动nfs并加入开机自启
[root@nfs ~]# systemctl start nfs-server
[root@nfs ~]# systemctl enable nfs-server
# 7.拷贝数据到nfs中
[root@web02 uploads]# scp -r /website/wordpress/wp-content/uploads/2020 root@172.16.1.31:/file_system
# 8.挂载
[root@web02 ~]# mount -t nfs 172.16.1.31:/file_system /website/wordpress/wp-content/uploads/
# 9.授权共享存储目录
[root@nfs file_system]# chown -R www.www /file_system/