运维项目1---单机安装基于LNMP结构的WordPress网站_单机构建网站(1)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以点击这里获取!

相关日志位置:/usr/local/nginx/logs和/var/log/php-fpm/目录

浏览器访问http://192.168.2.11/查看结果

如果可以看到php信息的网页,则正确。如下:


![](https://img-blog.csdnimg.cn/87adb206b3b4452182127334096da42b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzQ0OTg5OTQx,size_16,color_FFFFFF,t_70,g_se,x_16)




测试完后,删除网页:
[root@web1 ~]# rm -f /usr/local/nginx/html/index.php


### 配置数据库服务器


* 创建程序所需的数据库
* 授权用户可以访问数据库



[root@web1 ~]# mysql

创建名为wordpress的数据库,字符编码采用utf8mb4

MariaDB [(none)]> create database wordpress character set utf8mb4;

创建名为wordpress的用户,可以对wordpress拥有全部权限,他的登录密码也是wordpress。该用户既可以在本机登录,也可以在其他客户端地址登录。

MariaDB [(none)]> grant all on wordpress.* to wordpress@‘localhost’ identified by ‘wordpress’;
MariaDB [(none)]> grant all on wordpress.* to wordpress@‘192.168.2.11’ identified by ‘wordpress’;
MariaDB [(none)]> grant all on wordpress.* to wordpress@‘%’ identified by ‘wordpress’;
MariaDB [(none)]> flush privileges; # 刷新权限

测试账号连接数据库

-u指定数据库账户名称,-p指定数据库账户的密码,-h指定需要远程数据库的IP地址

[root@web1 ~]# mysql -uwordpress -pwordpress -h192.168.2.11 wordpress


![](https://img-blog.csdnimg.cn/7f52e8045151405c85af47f6cb22b477.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzQ0OTg5OTQx,size_13,color_FFFFFF,t_70,g_se,x_16)



### 部署wordpress


* 复制程序文件到nginx工作目录



解压
[root@web1 ~]# cd lnmp_soft/
[root@web1 lnmp_soft]# yum install -y unzip
[root@web1 lnmp_soft]# unzip wordpress.zip
[root@web1 lnmp_soft]# cd wordpress/
[root@web1 wordpress]# tar xf wordpress-5.0.3-zh_CN.tar.gz
[root@web1 wordpress]# cd wordpress/
[root@web1 wordpress]# cp -r * /usr/local/nginx/html/

php程序是由php-fpm处理的,php-fpm以apache身份运行
[root@web1 wordpress]# ps aux | grep php-fpm

为了让php-fpm程序能对html目录进行读写操作,需要为他授予权限
[root@web1 wordpress]# chown -R apache:apache /usr/local/nginx/html


* 访问[http://192.168.2.11/readme.html可以查阅wordpress使用说明]( )
* 访问[http://192.168.2.11/进行初始化,它将自动跳转到http://192.168.2.11/wp-admin/setup-config.php]( )


![](https://img-blog.csdnimg.cn/3284387e681a41049d3ee9678aef7ee9.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzQ0OTg5OTQx,size_17,color_FFFFFF,t_70,g_se,x_16)


 ![](https://img-blog.csdnimg.cn/e35df51a4d774fd5b005419fef802953.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzQ0OTg5OTQx,size_20,color_FFFFFF,t_70,g_se,x_16)


![](https://img-blog.csdnimg.cn/7d82995d66a046ba81ad503a6b7f3744.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzQ0OTg5OTQx,size_20,color_FFFFFF,t_70,g_se,x_16)


 ![](https://img-blog.csdnimg.cn/eeb6782eeb4c455fa14efabedde23870.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzQ0OTg5OTQx,size_20,color_FFFFFF,t_70,g_se,x_16)


![](https://img-blog.csdnimg.cn/a6e3f95a0356426286e1ae74c6ad8e81.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzQ0OTg5OTQx,size_20,color_FFFFFF,t_70,g_se,x_16)


![](https://img-blog.csdnimg.cn/c20bd21531ab45b48afe2699021d35de.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzQ0OTg5OTQx,size_20,color_FFFFFF,t_70,g_se,x_16)


![](https://img-blog.csdnimg.cn/a067212481ee478c8a99d24a5d662ca4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzQ0OTg5OTQx,size_20,color_FFFFFF,t_70,g_se,x_16)


注意:以上页面为后台管理页面。前台用户可以查看到的页面如下:


![](https://img-blog.csdnimg.cn/0ab2ab0046364d7eaf85bf256321d974.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzQ0OTg5OTQx,size_20,color_FFFFFF,t_70,g_se,x_16)



## web与数据库服务分离


### 准备数据库服务器


* 初始化:配置防火墙、SELINUX、YUM、主机名、IP地址



[root@zzgrhel8 ~]# clone-vm7
Enter VM number: 2
VM tedu_node02 Create
[root@zzgrhel8 ~]# virsh start tedu_node02
[root@zzgrhel8 ~]# virsh console tedu_node02
CentOS Linux 7 (Core)
Kernel 3.10.0-862.el7.x86_64 on an x86_64
localhost login: root
Password: 123456


执行以下命令初始化



hostnamectl set-hostname database
nmcli connection modify eth1 ipv4.method manual ipv4.addresses 192.168.2.21/24
nmcli connection down eth1
nmcli connection up eth1
echo a | passwd --stdin root


 使用ssh远程连接



[root@localhost ~]# logout
CentOS Linux 7 (Core)
Kernel 3.10.0-862.el7.x86_64 on an x86_64
database login: # 按ctrl+]
[root@zzgrhel8 ~]# ssh 192.168.2.21
[root@database ~]# vim /etc/yum.repos.d/local.repo
[local_repo]
name=CentOS-$releasever - Base
baseurl=ftp://192.168.2.254/centos-1804
enabled=1
gpgcheck=0


安装mariadb-server并启动 



[root@database ~]# yum install -y mariadb-server mariadb-devel
[root@database ~]# systemctl enable mariadb.service --now



创建数据库,并授权



[root@database ~]# mysql
MariaDB [(none)]> create database wordpress character set utf8mb4;
MariaDB [(none)]> grant all on wordpress.* to wordpress@‘%’ identified by ‘wordpress’;


 为了测试数据迁移成功与否,可以再创建新的BLOG。迁移完数据后,BLOG仍在,则数据未丢失。


![](https://img-blog.csdnimg.cn/9dfe72d8701547baa4a6abac7afd45f6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzQ0OTg5OTQx,size_20,color_FFFFFF,t_70,g_se,x_16)


 ![](https://img-blog.csdnimg.cn/31445294c55948d6b05975693ef7eac0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzQ0OTg5OTQx,size_19,color_FFFFFF,t_70,g_se,x_16)


 点击右上角的“发布”后,回到首页,查看结果:


![](https://img-blog.csdnimg.cn/1ab2424974c342769e28220dea5037d7.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzQ0OTg5OTQx,size_20,color_FFFFFF,t_70,g_se,x_16)


向用户发布停服更新通知。然后迁移数据库



1. 在源服务器上备份数据库中的数据。备份数据库wordpress中的数据到wordpress.sql文件

[root@web1 ~]# mysqldump wordpress > wordpress.sql

2. 将备份文件拷贝到新数据库服务器

[root@web1 ~]# scp wordpress.sql 192.168.2.21:/root/

3. 在新数据库服务器上,导入数据。将wordpress.sql中的数据导入到wordpress数据库中

[root@database ~]# mysql wordpress < wordpress.sql

4. 修改php网站,将数据库服务器地址,指向新数据库服务器

[root@web1 ~]# vim /usr/local/nginx/html/wp-config.php
32 define(‘DB_HOST’, ‘192.168.2.21’);

5. 停止web1上的mariadb数据库,wordpress网站仍然可以访问

[root@web1 ~]# systemctl stop mariadb
[root@web1 ~]# systemctl disable mariadb

6. 停止database上的mariadb数据库,wordpress将不能访问

[root@database ~]# systemctl stop mariadb

7. 测试后,再启动database上的mariadb。

[root@database ~]# systemctl start mariadb



 附:查看数据库中的内容




1. 登录数据库

[root@database ~]# mysql

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值