手把手教你部署自己的网站 wordpress

简介

在互联网时代,拥有一个个性化网站是展示自我、拓展业务的重要方式。WordPress作为全球最受欢迎的内容管理系统(CMS),凭借其易用性、灵活性和强大的社区支持,成为众多用户的首选。
WordPress基于PHP开发,搭配MySQL数据库,通过简洁高效的架构,支持多种主题和插件,可快速搭建博客、企业网站、电商网站等多种类型站点。部署WordPress网站,需要准备服务器空间(“土地”)和域名(“门牌号”),安装WordPress程序并配置好数据库,选择主题和插件进行个性化设置,即可完成搭建。

WordPress的灵活性和可扩展性是其亮点。用户可以根据需求更换主题,改变网站外观和布局;通过海量插件库,轻松实现SEO、社交媒体分享、在线支付等功能,无需复杂编程。同时,WordPress社区庞大且活跃,提供丰富的学习资源和技术支持,帮助用户快速解决问题。

我的WordPress站点:https://byteooo.cn

域名申请

如果你做国内的博客,申请域名需要备案,你可以去腾讯或者阿里申请,大概需要7到14天走完流程;国外免备案域名申请,可以看看godaddy;当然你用了国外的域名,国内的人访问就很慢,且要翻不出去,国内域名就不存在这个问题。

注意:如果你只是自己部署玩玩,可以不用申请域名;如果你想放到互联网则申请域名

服务器配置

虚拟机名字cpu内存磁盘备注
wordpress014核4GB50GB因测试环境,系统盘和数据盘共用,建议选择高性能磁盘

如果你是vmware 虚拟机部署,确保本地电脑能访问到虚拟机,后面访问WordPress站点要用
如果你是公有云虚拟机,请记住EIP,后面访问WordPress站点要用,本教程采用公有云虚拟机

部署形态

本教程采用超融合部署,前后端未分离的方式,也就是nginx服务和wordpress服务、mysql服务都是在一台虚拟机上;
在这里插入图片描述

安装部署

安装docker服务

我这里是centos服务器下安装,如果没有yum源请自己设置一下yum源

yum install docker

容器部署 mysql数据库

docker run -d --name wordpressdb  --restart=always  \
  -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress \
  -e TZ=Asia/Shanghai -e MYSQL_INITDB_ARGS="--lower_case_table_names=1" \
  -v /opt/mysql/data:/var/lib/mysql  \
  -v /opt/mysql/log:/var/log swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:5.7

注意!
MYSQL_ROOT_PASSWORD:指定数据库的密码
MYSQL_DATABASE:指定创建数据库wordpress
-v /opt/mysql/data:/var/lib/mysql :数据库的数据存储路径存挂载到宿主机,请做好容量和性能的评估。

容器部署wordpress

docker run -d --name wordpress  -p 80:80 -p 443:443 --restart=always \
 -e TZ=Asia/Shanghai -e WORDPRESS_DB_HOST=172.17.0.2 \
 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=123456 \
 -v /opt/wordpress:/var/www/html  \
 -v /opt/apache2:/etc/apache2 \ # 需要先把容器/etc/apache2目录下的文件拷贝到宿主机/opt/apache2目录,不然容器起不来
 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/wordpress:6.2.2

注意!
WORDPRESS_DB_HOST:是用mysql容器的IP,可通过docker inspect wordpressdb 查看到;
WORDPRESS_DB_USER:数据库用户,用root就好
WORDPRESS_DB_PASSWORD:是数据库的密码
-v /opt/wordpress:/var/www/html :wordpress根目录挂载到宿主机
-p 80:80:这里使用宿主机80端口与wordpress容器80端口做nat映射射

注意!我这里没有用nginx,直接用wordpress容器里面的apache2服务

访问wordpress界面并配置

访问地址和端口

在浏览器输入:http://宿主机IP:80
宿主机IP就是虚拟机或物理机IP或者是EIP

wordpress初始化配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
出现这个页面表示已经创建成功。wordpress基础功能已经配置好了。

上传主题

下载主题包:https://gitee.com/MUCEO/qzdy

注意: 下载好主题包,进行解压压缩,文件夹重命名为qzdy,再压缩包之后,后台上传安装主题即可

在这里插入图片描述

配置 apache https

使用 Certbot 申请免费的 SSL 证书

使用 Certbot 申请和自动续签 Let’s Encrypt 的免费 SSL 证书

配置wordpress apache服务ssl和域名

80端口apache 服务配置文件

$ cat /opt/apache2/sites-available/000-default.conf 
<VirtualHost *:80>
        ServerName www.byteooo.cn
        ServerAlias byteooo.cn
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        RewriteEngine On # http请求都跳转到https
        RewriteCond %{HTTPS} off
        RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

443端口apache 服务配置文件

$ cat /opt/apache2/sites-available/default-ssl.conf
<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin webmaster@localhost
                ServerName www.byteooo.cn
                ServerAlias byteooo.cn
                DocumentRoot /var/www/html
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                SSLCertificateFile /etc/apache2/cert/fullchain.pem
                SSLCertificateKeyFile /etc/apache2/cert/privkey.pem
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
                <Directory "/var/www/html/wp-admin"> # 限制公网ip访问wp-admin接口
                    Require all denied
                    Require ip 110.130.0.0/16
                    Require ip 223.124.16.257
                </Directory>

        </VirtualHost>
</IfModule>

确保启用了 SSL 模块和加载default-ssl 配置

wordpress 容器里面执行

$ sudo a2enmod ssl
$ sudo a2enmod rewrite
$ sudo a2ensite default-ssl.conf
$ sudo systemctl reload apache2

修改需要密码解锁文章

修改需要密码解锁文章的提示

$ cp /opt/wordpress/wp-includes/post-template.php opt/wordpress/wp-includes/post-template.php-bak
$ vim /opt/wordpress/wp-includes/post-template.php +1810
# 修改这段内容
<p>' . __( 'This content is password protected. To view it please enter your password below:' ) . '</p>


# 修改成这样,可以根据需求修改修改
<p style="color:#ff0000;">' . __( '收集和整理知识实属不易,请付费解锁原创内容,感谢支持知识创作!<a href="https://byteooo.cn/wp-content/uploads/2025/07/bcaaeefef600a6d1dbcf80.jpg" target="_blank">【点击
联系我付费20元解锁本站所有付费文章】</a>' ) . '</p>

在这里插入图片描述

测试验证https

浏览器打开地址:https://www.byteooo.cn 自动跳转到https并成功打开界面代表成功。

故障问题记录

上传主题文件报错

echo php_value upload_max_filesize 500M $'\n'php_value post_max_size 500M >> /opt/wordpress/.htaccess

从数据库修改WordPress 6.2 的 后台登录地址

# 查看'siteurl', 'home'地址
mysql> SELECT option_name, option_value  FROM wp_options  WHERE option_name IN ('siteurl', 'home');
+-------------+-----------------------------+
| option_name | option_value                |
+-------------+-----------------------------+
| home        | http://192.168.115.129:8080   |
| siteurl     | http://192.168.115.129:8080 |
+-------------+-----------------------------+
2 rows in set (0.00 sec)

# 修改 'siteurl'地址
mysql> update wp_options SET option_value = 'http://192.168.31.94:8080' WHERE option_name = 'siteurl';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

# 修改'home'地址
mysql> update wp_options SET option_value = 'http://192.168.31.94:8080' WHERE option_name = 'home';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

设置限制ip访问 wp-admin接口

# 2选1
# 在wordpress根目录下的wp-admin目录下创建.htaccess文件
$ cat >> /opt/wordpress/wp-admin/.htaccess < EOF
Order Deny,Allow
Deny from all
Allow from 213.204.192.12
Allow from 140.230.73.24
EOF
# 或者修改apache2配置文件 建议用这个
vim /opt/apache2/sites-available/default-ssl.conf
<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin webmaster@localhost
                ServerName www.byteooo.cn
                ServerAlias byteooo.cn
                DocumentRoot /var/www/html
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                SSLCertificateFile /etc/apache2/cert/fullchain.pem
                SSLCertificateKeyFile /etc/apache2/cert/privkey.pem
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
                <Directory "/var/www/html/wp-admin"> # 添加这部份去限制ip访问
                    Require all denied
                    Require ip 110.130.10.0/16
                    Require ip 213.204.26.157
                </Directory> #这里结束
        </VirtualHost>
</IfModule>

使用 CSS 修改整体网站文字大小
如果你的主题不提供文字大小設定的功能的話,那自己设定 CSS 应该是最好的方法了,在主题>自定义的功能中,通常會有一個附加的 CSS 設定,在此处你就可以任意修改文字的大小。

比如說,我想把文章內文的字型大小改為 18 px,那我就可以加入以下設定:

.text {
  font-size: 15px !important;
}

如果是想要修改 H2 標題呢,你可以使用以下的設定:

h2 {
font-size:36px;
} 

实用的插件

  • Import Markdown:markdown文件导入插件
  • Markup Markdown: markdown编辑器插件,安装后文章编辑器用的是markdown编辑器
  • nicen-localize-image:markdown文件导入后远程图片可自己下载转存入本地图库库
  • The Paste:粘贴图片到编辑器,图片自己存入本地图库中
  • WP Statistics:可以统计访问网站的用户数量、IP数量、引荐网站,浏览器,搜索引擎,操作系统,国家和城市。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

企鹅侠客

您的打赏是我创作旅程中的关键燃

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值