Ubuntu22.04部署分布式Wordpress,加LNMP配置
前言
WordPress 是一个开源的内容管理系统(CMS),最初是作为一个博客平台开发的,但随着时间的推移,它已经发展成为一个功能强大的网站构建工具。
- 开源:WordPress 是基于GPL(通用公共许可证)发布的,这意味着它是免费使用的,并且可以自由地被修改和分发。
- 灵活性:WordPress 允许用户通过安装各种插件和主题来定制网站的功能和外观。有成千上万的免费和付费插件和主题可供选择。
- 社区支持:WordPress 拥有一个庞大的开发者和用户社区,这意味着有大量的资源、教程和论坛可以帮助解决任何问题。
- 易于使用:WordPress 的后台管理界面设计得非常直观,即使是没有技术背景的用户也能快速上手。
- SEO友好:WordPress 提供了良好的搜索引擎优化(SEO)基础,许多插件可以帮助进一步优化网站以提高搜索引擎排名。
- 多语言支持:WordPress 支持多语言,并且有许多插件可以帮助创建多语言网站。
- 可扩展性:WordPress 可以从小规模的博客扩展到大型的企业级网站,支持电子商务、社区论坛等多种功能。
- 安全性:虽然没有任何系统是完全安全的,但WordPress 提供了多种安全措施,包括定期更新、安全插件和强化密码等。
- 移动友好:WordPress 提供了移动应用,允许用户在移动设备上管理网站,并且许多主题都是响应式的,可以在各种设备上良好显示。
- 集成性:WordPress 可以与许多第三方服务和应用程序集成,如社交媒体平台、电子邮件营销服务等。
WordPress 适用于各种规模的网站,从个人博客到大型电子商务网站。它是一个不断更新和发展的平台,随着新功能的添加和改进,它的使用范围也在不断扩大。
对任何渴望进步的人来说,写博客 / 文章 / 回答 对自己的成长帮助都是巨大的。频率和数量不必过分强求,有话要说就写写,没事就歇歇,随意点。因为坚持写作的那一刻起,你就已经开始受益。
相关信息
- 两台Ubuntu22.04及以上
- Nginx1.18
- Mysql8.0
- PHP8.1.2
- wordpress6.6.2
一、更新软件源包列表安装必备组件(*演示默认使用root用户)
apt update && apt install wget curl nano libgd3 -y
#这两个都行
apt-get update && apt-get install wget curl nano libgd3 -y
以下操作在Ubuntu1中进行
二、安装PHP
Ubuntu22.04中apt包的php版本没有8.1.2,我们用添加源的方式安装php8.1.2
此处我使用的源为阿里源,如果没配置源,参考博客配置
sudo apt-get install php-fpm php-mysql
#检查php版本
php -v
#出现如下结果
#PHP 8.1.2
三、安装nginx
sudo apt-get install nginx
#ubuntu22.04默认版本就是1.18
(1)启动 Nginx 服务
sudo systemctl start nginx
#查看nginx服务状态
sudo systemctl status nginx
(2)开放 80端口
sudo ufw allow 80
浏览器访问 服务器公网 IP地址 , 出现 Nginx 欢迎界面即为安装成功!
配置 Nginx 使用PHP
(1)修改Nginx的配置信息前,先使用命令
sudo systemctl stop nginx
关闭 Nginx,然后编辑 /etc/nginx/sites-available 目录下的 default文件
vim /etc/nginx/sites-available/default
(2)默认应该是这样的
我们要做以下修改:
- 添加 index.php 作为我们的起始界面
- 修改 server_name 来指向我们的域名或者 公网IP
- 忽略那些以 # 开头的行
- 忽略 .htaccess文件
(3)修改完我们的配置文件应该是这个样子的
图中红色框框标注的server_name 填写你的服务器ip
注意上图中红色箭头所指的地方,应该根据你的 PHP版本进行设置,可以使用
php -v
命令查看你安装的 PHP 版本,如下图所示,我安装的版本为 8.1
(4)完成上述更改后,就可以保存并关闭该文件了,接着我们可以检查一下修改内容是否出现错误
nginx -t
(5)如果没有问题 启动 Nginx
sudo systemctl start nginx
创建 PHP文件以测试配置
测试 Nginx是否可以正确地将 PHP文件传递给我们的 PHP处理器
(1)添加一个 info.php 【这里的 /var/www/html 对应配置文件中 root的路径】
vim /var/www/html/info.php
(2)在里面添加
<?php
phpinfo();
(3)保存退出,并访问
公网IP/info.php
,如果出现下图所示则说明安装成功!
四、Mysql
这里我们来到Ubuntu2,在Ubuntu2中配置MySQL进行分布式
安装 Mysql
sudo apt-get install mysql-server
安装完成之后通过以下命令测试是否安装成功:
sudo netstat -tap | grep mysql
登录 Mysql
mysql 5.7.4 之前的版本中默认是没有初始密码的(输入密码时,直接enter就可以进入数据库)。而之后的版本对密码策略等安全相关操作进行了一些升级,在安装过程中,mysql 会在日志中生成一个临时登录密码,这个密码可以通过运行时日志查询。
运行mysql服务并通过日志查询临时密码
service mysqld start
grep 'temporary password' /var/log/mysqld.log
用临时密码登录
mysql -u root -p
创建及配置 wordpress数据库
(1)为 wordpress创建一个名叫 wordpress的数据库
CREATE DATABASE wordpress;
(2)为这个数据库设置一个用户为 wordpressuser [ 可自定义 ]
CREATE USER `wordpressuser`@`%` identified by '123456';
#为了实现能远程连接mysql此处wordpressuser的登入权限必须设置为`%`
(3)为这个用户配置数据库的访问权限
GRANT ALL PRIVILEGES ON wordpress.* TO `wordpressuser`@`%`;
(4)生效这些配置
FLUSH PRIVILEGES;
(5)退出 Mysql
exit
此处建议新建一个 Mysql用户 供 wordpress使用,否则安装 wordpress可能会出现
WordPress数据库连接错误 Error establishing a database connection
配置MySQL的远程连接
(1)配置MySQL用户支持远程连接
登入MySQL
mysql -uroot -p
查看用户权限
select user,host from mysql.user
由于我们创建wordpressuser用户时便已经为其分配访问权限%
,所以用户可以进行远程连接,如果未设置成%
可以输入以下命令进行配置
GRANT ALL ON *.* TO '你创建的用户名'@'%';
#由于我们创建的用户名为wordpressuser,所以上述命令为
GRANT ALL ON *.* TO 'wordpressuser'@'%';
#授予wordpressuser访问创建的数据库wordpress的权限
grant all privileges on wordpress.* to 'wordpressuser'@'%' with grant option;
(2)更改MySQL的配置文件
更改/etc目录下的mysql配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到关于address的命令行,将其给注释
更改/etc/mysql/目录下的my.cof文件
vim /etc/mysql/my.cnf
找到并修改
bind-address
配置项:
bind-address = 0.0.0.0
如果配置文件中没有
bind-address
项,可以添加一行:
[mysqld]
bind-address = 0.0.0.0
修改配置文件后,重启MySQL服务使更改生效:
sudo systemctl restart mysql
测试MySQL是否能进行远程连接
这里来的Ubuntu1中通过命令查看是否能远程连接MySQL
mysql -h 你的Ubuntu2的IP地址 -u 登入mysql的用户 -p
#此处我们登入Ubuntu2的IP地址为10.0.2.88,用户为创建时配置的远程用户wordpressuser
如果成功登入则表示可以进行远程连接
五、安装WordPress
回到Ubuntu1中安装wordpress
下载WordPress
(1)进入 /var/www/html 目录下
cd /var/www/html
(2)下载 WordPress
wget https://cn.wordpress.org/wordpress-6.6.2-zh_CN.tar.gz
截至 2024-10-13 ,目前最新版为 6.6.2,也可以访问发行版本归档 – WordPress.org China 简体中文 下载指定版本!
(3)解压文件并将解压后的文件内容移动至 /var/www/html 中
tar -xzvf wordpress-6.6.2-zh_CN.tar.gz
cd WordPress
mv * ..
(4)进入 /var/www/html目录中,查看文件内容,如下图所示即为移动成功!
配置WordPress
(1)进入 /var/www/html目录中,复制该目录下的 wp-config-sample.php文件,粘贴在当前目录并重命名为 wp-config.php
cp wp-config-sample.php wp-config.php
(2)编辑 wp-config.php
DB_NAME -> wordpress 修改为创建的数据库名称
DB_USER -> wordpressuser 修改为登录mysql的用户名
DB_PASSWORD -> 123456 修改为登录mysql的密码
DB_HOST -> 10.0.2.88 修改为远程连接MySQL的IP地址
为了安全,还需要输入一些密钥信息,打开在线密钥生成器,按照网页内容,对
AUTH_KEY
,
SECURE_AUTH_KEY
,
LOGGED_IN_KEY
,
NONCE_KEY
字段进行修改!
最后,添加如下信息到文件的末尾:
# 设置WordPress后台中文
define('WPLANG', 'zh_CN');
# 避免主题无法下载
define('FS_METHOD', "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);
给予目录权限
sudo chown -R root:www-data /var/www/html
#配置setgit位
sudo find /var/www/html -type d -exec chmod g+s {} \;
# 为wp-content目录提供组写访问权限,以便Web界面可以进行主题和插件更改
sudo chmod g+w /var/www/html/wp-content
# 为Web服务器提供对这两个目录中所有内容的写访问权限
sudo chmod -R g+w /var/www/html/wp-content/themes
sudo chmod -R g+w /var/www/html/wp-content/plugins
六、 部署成功
至此,直接访问 服务器IP地址,会出现 WordPress 安装界面,按照提示进行安装即可!
七、在windows中访问虚拟机中的wordpress
我们已经在Ubuntu系统中安装了WordPress网站运行所需的环境,并进行了相关配置。接下来,我们就可以正式进入网站的编辑流程,并通过cpolar将其发布到公共互联网上,接受互联网访客的访问。现在,就让我们开始吧。
要让本地的网页能为公共互联网的用户访问到,必须有符合现行互联网规范的地址,即URL。但WordPress本身并不自带生成URL地址的功能,我们必须通过为WordPress安装插件来实现这一功能。还是回到WordPress的主界面,在左侧我们能找到插件选项,点开后在搜索框输入relative URL,就能找到这款插件,接着点击安装启用即可。
选中安装新的插件,搜索relative url
下载后点击启用
完成URL插件的安装后,我们还需要对WordPress本身进行一项小修改,我们要教会WordPress正确应对外部访问请求,因此我们要打开Ubuntu命令行界面,输入命令,转入站点根目录
cd /var/www/html
转入站点根目录后,再输入命令对WordPress的配置文件进行编辑。
vim wp-config.php
在WordPress编辑界面,我们要找到如下位置,输入两行命令,分别为:
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
确认命令输入无误后,就可以按快捷键
Ctrl+X
退出编辑,系统会询问我们是否保存更改,我们输入
Y
即可。
这样就可以在Windows中访问word press的服务了
参考链接从零搭建WordPress个人站点 Ubuntu+Nginx+Mysql+PHP_使用ubuntu20.4系统通过wordpress建站详细教程-CSDN博客
如何在Ubuntu系统搭建一个WordPress网站并实现无公网IP远程访问_ubuntu免费搭建网站-CSDN博客
版权归原作者 兮无 所有, 如有侵权,请联系我们删除。