LNMP
🍼1.部署数据库db01
1.安装数据库服务
yum -y install mariadb mariadb-server
2.重启服务,服务添加下次开机自启
systemctl restart mariadb
systemctl enable mariadb
3.查看selinxu 和防火墙是否关闭
getenforce
systemctl status firewalld
4.mysql 登入数据库,创建我们部署wordpress需要的库
mysql
create database wordpress;
5.创建远程连接用户
grant all privileges on *.* to 'all'@'%' identified by 'boy123.com';
6.刷新权限
flush privileges;
🍼2.部署两台web服务器web01
0.先配置好nginx yum仓库(nginx官方)
1.安装nginx服务,(web01 web02 lb同时安装)
yum -y install nginx
2.安装php(web01 web02 同时安装)
先解压我们上传的php解压包
yum -y localinstall php/*.rpm
先开始部署web01
3.统一用户权限
创建用户
groupadd -g666 www
useradd -u666 -g666 www
更改php,nginx配置文件权限
sed -i '/^user/c user www;' /etc/nginx/nginx.conf
sed -i '/^user/c user = www' /etc/php-fpm.d/www.conf
sed -i '/^group/c group = www' /etc/php-fpm.d/www.conf
4.重启服务,将服务加入下次开机自启
systemctl enable nginx php-fpm
systemctl start nginx php-fpm
5.配置站点nginx配置文件
将默认站点打包
gzip /etc/nginx/conf.d/default.conf
配置站点配置文件
vim /etc/nginx/conf.d/blog.etiantian.org.conf
server {
listen 80;
server_name blog.etiantian.org;
root /code/wordpress;
location / {
index index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000; # 将请求转给9000端口的应用程序处理
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 告诉php我们需要被解析的文件在哪个目录,是哪个文件
include fastcgi_params;
}
}
检查语句重启服务
nginx -t
systemctl reload nginx
6.创建站点目录,上传代码,并对站点目录授权
创建站点目录
mkdir /code
cd /code
上传代码解压
uzip wordpress-5.4.2-zh_CN.zip
对站点目录授权
chown -R www.www /code/wordpress
7.配置本地DNS劫持
8.通过谷歌浏览器用域名访问,配置数据库初始化
🍼3.部署web02,添加一个新的web节点
1.创建用户和组:
[root@web02 ~]# groupadd -g666 www
[root@web02 ~]# useradd -u666 -g666 www
2.推送nginx ,php配置文件
Nginx配置文件:
[root@web02 ~]# gzip /etc/nginx/conf.d/default.conf
[root@web02 ~]# scp 172.16.1.7:/etc/nginx/nginx.conf /etc/nginx/nginx.conf
[root@web02 ~]# scp 172.16.1.7:/etc/nginx/conf.d/* /etc/nginx/conf.d/
PHP配置文件:
[root@web02 ~]# scp 172.16.1.7:/etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf
[root@web02 ~]# scp 172.16.1.7:/etc/php.ini /etc/php.ini
3.推送对应的代码,给站点目录授权,用户统一
[root@web02 ~]# scp -r 172.16.1.7:/code /
[root@web02 ~]# chown -R www.www /code/
4.检查语法,启动服务
[root@web02 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@web02 ~]# php-fpm -t
[28-Oct-2020 19:54:37] NOTICE: configuration file /etc/php-fpm.conf test is successful
启动服务:
[root@web02 ~]# systemctl enable nginx php-fpm
[root@web02 ~]# systemctl start nginx php-fpm
5.配置本地dns 10.0.0.8 blog.etiantian.org 浏览器访问查看 通过 访问日志(var/log/nginx/access.log)
🍼4.配置负载均衡lb01
1.配置站点配置文件
打包默认配置文件
gzip /etc/nginx/conf.d/default.conf
vim /etc/nginx/conf.d/proxy_blog.etiantian.org.conf
upstream blog {
server 172.16.1.7:80;
server 172.16.1.8:80;
}
server {
listen 80;
server_name blog.etiantian.org;
location / {
proxy_pass http://blog;
proxy_set_header Host $http_host;
}
}
2.检查语句 重启服务,把服务加入开启自启
nginx -t
systemctl restart nginx
systemctl enale nginx
3.更改配置 dns本地劫持解析 10.0.0.5 blog.etiantian.org
4.测试
>/var/log/nginx/access.log #web01 web02的访问日志清空
🍼 5.配置nfs共享存储
1.安装nfs服务(web01 web02 nfs同时安装)
yum -y install nfs-utils
2.web节点创建挂载点
mkdir -p /code/wordpress/wp-content/uploads
chown -R www.www /code/wordpress/wp-content/uploads
3.配置nfs共享目录
[root@nfs ~]# cat /etc/exports
/data/blog 172.16.1.0/24(rw,async,all_squash,anonuid=666,anongid=666)
4.创建共享目录,和统一用户www,并对共享目录授权
[root@nfs ~]# groupadd -g666 www
[root@nfs ~]# useradd -u666 -g666 www
[root@nfs ~]# mkdir -p /data/blog
[root@nfs ~]# chown -R www.www /data/blog
5.重启nfs服务,将服务加入开机自启
systemctl restart nfs
systemctl enable nfs
6.web节点查看共享目录
showmount -e 172.16.1.31
7.两台web节点挂载nfs共享的目录
mount -t nfs 172.16.1.31:/data/blog /code/wordpress/wp-content/uploads/
8.写入到fstab
vim /etc/fstab
172.16.1.31:/data/blog /code/wordpress/wp-content/uploads/ nfs defaults 0 0