【4】wordpress和官网配置
其实最初是通过cursor花了三个晚上,自己做了一个首页网站(怎么做这个网站后面会说)。在做完以后有些意犹未尽,既然已经有了网站了,也写了不少东西,何不直接改成一个博客,说干就干。

作为一个半点js不会的产品经理,我理所当然的咨询了cursor,提示我用子域名或者子目录的方式来进行合并,考虑到如果是子目录的方式,我本地如果要做调试需要和云端保持一致非常困难,于是选用子域名的方式

配置wordpress的域名
我的域名是rrdsceo.cn,申请的域名是从腾讯云中申请,因此需要先增加腾讯云的域名解析。
1. 登录腾讯云账号
登录腾讯云控制台:https://console.cloud.tencent.com,使用账号密码登录
2. 进入域名管理器
选择对应购买的服务器,进入域名管理控制台,点击对应的域名,并添加对应的域名解析,域名解析是blog.yourdomain.cn。

3. 测试子域名
打开浏览器,输入对应的子域名,如果打开成功,则生效了。
配置wordpress路径
请注意,以下所有yourdomain.com或者blog.yourdomain.com,请换成自己对应的域名
1. 新建wordpress目录
因为默认的/var/www/html已经被原有官网占了,所以重新再/var/www下新建了wordpress
sudo mkdir /var/www/wordpress
配置对应的phpmyadmin路径,让mysql和phpmyadmin打通,有对应的权限
sudo ln -s /usr/share/phpmyadmin /var/www/wordpress/phpmyadmin
2. 配置nginx子域名
新增文件blog.yourdomain.cn,其中yourdomain是你的域名名字,比如我的是rrdsceo.cn,那么就是blog.yourdomain.com。
sudo vim /etc/nginx/sites-available/blog.yourdomain.com
创建对应配置文件
server {
listen 80;
server_name blog.yourdomain.com; # 修改成自己的配置文件
root /var/www/wordpress;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
启用站点配置,注意在 Nginx 的配置中,sites-available 和 sites-enabled 目录有不同的作用,所以在 sites-available 配置,在sites-enabled加载。
sites-available 目录:
- 用于存储所有可用的站点配置文件
- 相当于配置文件的仓库
- 仅仅存储配置文件,但不会被 Nginx 自动加载
sites-enabled 目录: - 包含实际被 Nginx 使用的配置文件
- Nginx 只会读取这个目录下的配置
- 通常包含指向 sites-available 中配置文件的符号链接
sudo ln -s /etc/nginx/sites-available/blog.yourdomain.com /etc/nginx/sites-enabled/
测试,如果是success则成功
sudo nginx -t
重启nginx
sudo systemctl restart nginx
## 3. WordPress 配置
更改自己的路径,避免登录以后默认跳转不正确
// 在 WordPress 的 wp-config.php 中添加
define('WP_HOME', 'https://blog.yourdomain.com');
define('WP_SITEURL', 'https://blog.yourdomain.com');
在WordPress 根目录的 .htaccess 中添加如下代码,防止用户直接访问:
在 WordPress 根目录的 .htaccess 中添加
防止直接访问 PHP 文件
<FilesMatch ".php$">
Order Deny,Allow
Deny from all
允许访问 index.php
<Files "index.php">
Order Allow,Deny
Allow from all
## 4. iframe嵌套
iframe嵌套是指允许将博客以iframe嵌套的方式被第三方嵌套,有两种方式,一种是直接在nginx中被允许,一种是wordpress上设置被允许,两种的区别在于:
- **Nginx站点配置**:直接在Nginx配置文件中添加允许iframe嵌入的设置会作用于整个服务器或指定的站点,这意味着Nginx会在处理任何请求之前设置允许iframe的头信息,作用于在所有网站。
- **在WordPress中设置**:在WordPress的`functions.php`文件中修改的代码更具体,只影响WordPress站点本身,而不会对其他在同一服务器上托管的站点产生影响。
**添加自定义代码到 `functions.php` 文件**:
- 进入WordPress主题目录,找到并打开 `functions.php` 文件。
- 添加以下代码来允许iframe嵌入:
function allow_iframe_embedding() {
header('X-Frame-Options: ALLOWALL');
}
add_action('send_headers', 'allow_iframe_embedding');
**使用 Web 服务器配置**(如适用)
sudo vim /etc/nginx/sites-available/default
然后设置对应的配置
server {
listen 80;
server_name blog.yourdomain.com; # 修改成自己的配置文件
root /var/www/wordpress;
index index.php index.html index.htm;
client_max_body_size 10M; # 上传文件大小限制
add_header X-Frame-Options ""; # # 允许嵌入到iframe中
/
其他配置信息
/
}
然后重启服务器
重启nginx
sudo systemctl restart nginx
这个时候应该可以看到已经可以被嵌套进去了。
## 5. 去掉主题的页脚
虽然博客已经被内嵌,但是主题的页脚一直存在,并且通过工具没有办法去掉,只有修改代码去掉

修改代码如下,先对主题进行编辑:
sudo vim /var/www/html/wp-content/themes/kratos-main/footer.php
注释掉所有代码,仅保持wp_footer的调用.
<?php
/**
- 主题页脚
- @author Seaton Jiang hi@seatonjiang.com
- @license GPL-3.0 License
- @version 2022.05.27
*/
?>
<?php wp_footer(); ?>
求索空间
apostle9891