VPS

宝塔所建WordPress域名迁移中一些问题的解决方法

一、域名迁移

1.何为域名迁移?

即我有原域名AAA.com下的一个wp博客网站,但是这个AAA.com域名要到期了或者有自己更喜欢的域名,则需要对域名进行迁移操作。

2.迁移过程

由于宝塔网站设置的限制存在,在这里选用的是先使用宝塔自带的功能备份站点及数据库,完成后将原站点及其配套的数据库删除。重新新建一个域名为BBB.com的新网站(即使用你想更换的域名建站)。值得注意的是,在删除网站时其实不需要删除数据库,这里只是为了保证严谨。然后在www/backup/site目录下找到之前的网站备份压缩包,将其解压到新建的网站的根目录下。(详情请谷歌宝塔wordpress备份恢复)

完成上面步骤后,修改新建的站点的权限为755并勾选包含子文件夹选项。修改wp_config.php中的数据库相关信息,重启nginx即可。(固定链接伪静态、ssl证书要重新配置)

附:伪静态代码:

location /
{
	 try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

3.在迁移过程中出现了什么问题?

问题一:出现403 Forbiden nginx 错误:

解决方案:

使用ping工具查看域名解析情况,发现已经正常解析,但是仍出现一直403的情况。后来发现403是重定向至原域名下的403错误,而非新域名下的错误。初步排查和cf解析无关,与ssl证书也无关。在修改数据库表项之后应该不会再重定向过去,检查重定向也没有记录。怀疑为really simple ssl等插件导致的重定向,疑惑了很久以后通过强制设定主页网址解决。即在wp_config.php的末尾加入代码:

define('WP_HOME','https://oliverhou.com');
define('WP_SITEURL','https://oliverhou.com');

问题二:变更cloudflare解析后仍解析至原域名,但是原域名证书和解析记录已被删除,导致直接报错DNS ERROR 1016

解决方案:

原先是讲旧域名解析记录直接删除,在新域名处添加新纪录。但是不知为何需要将旧域名修改指向再删除才生效,可能是修改可以设置TTL为一分钟可以马上生效的原因。故修改旧域名指向后再删除,随后错误变为问题一

还有关于插件等问题未提及但是也仍需注意。同时在迁移时需要使用SQL语句修改域名关键信息,参考代码:

UPDATE wp_options SET option_value = replace(option_value, 'old_domain.com', 'new_domain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = replace(post_content, 'old_domain.com', 'new_domain.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'old_domain.com', 'new_domain.com');
UPDATE wp_comments SET comment_content = replace(comment_content , 'old_domain.com', 'new_domain.com');

上述代码参考网站(网站内还有别的情况的代码):

Xray(VLESS+XTLS或trojan+tls)+BTpanel+wordpress使用nginx共存搭建过程的探索

1.服务器背景

这台机子已经运行了很久的wordpress,https是最近才加上的。等于有一台服务器预装了BT+wordpress,,所以只需要再安装xray即可。这篇文章的起因是以前搭建博客时没有想怎么和其他服务共用443端口,在使用一键脚本搭建xray时,发现二者直接搭建是不能实现共存的。

2.开始搭建

首先介绍一下完整过程、出现的问题和解决方法。

这里参考了波仔的做法:https://www.v2rayssr.com/xraybt.html

视频在这里

2.1 安装宝塔和相关环境

搭建宝塔的步骤这里就不展开了,具体看波仔的帖子,值得注意的有几点:

  • 不一定需要安装aapanel(宝塔国际版),普通版的宝塔也是可以做到的
  • 在cloudflare解析时不要开启小云朵,亲测搭建完开启cf加速是没有办法连接的,申请证书的时候也有影响
  • 也不一定需要1G的内存,512M内存加swap也是可以做到的
  • BBR不一定要开,自己选择(链接:https://www.v2rayssr.com/bbr.html
  • 在安装完宝塔安装LNMP时建议五个组件全装而不是像视频中波仔一样安装部分组件,建议安装插件上的系统防火墙,管理防火墙很方便

2.2 安装Xray并调试

首先我们安装Xray的官方版本

bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install -u root

然后生成一个随机编码备用

cat /proc/sys/kernel/random/uuid # 粘贴到VPS运行即可生成 UUID

安装完成后,在VPS目录 /usr/local/etc/xray 找到 config,json 文件,粘贴下面的配置文件

(下面的三处域名是必须修改的)

首先这里是xray的vless+xtls模式:

{
    "log": {
        "loglevel": "warning"
    }, 
    "inbounds": [
        {
            "listen": "0.0.0.0", 
            "port": 443, 
            "protocol": "vless", 
            "settings": {
                "clients": [
                    {
                        "id": "5272bc0d-9852-4af7-b2f0-979b1faf2973",
                                                   //此处改为你的UUID
                        "level": 0, 
                        "email": "[email protected]",  
                                             //此处为邮箱地址,随便填
                        "flow":"xtls-rprx-direct"
                    }
                ], 
                "decryption": "none", 
                "fallbacks": [
                    {
                        "alpn": "h2", 
                        "dest": 8002   //此处为回落端口,若更改,请更改后面Nginx的相应配置
                    }
                ]
            }, 
            "streamSettings": {
                "network": "tcp", 
                "security": "xtls", 
                "xtlsSettings": {
                    "serverName": "qq.bozai.us",  //修改为你的域名
                    "alpn": [
                        "h2", 
                        "http/1.1"
                    ], 
                    "certificates": [
                        {
                            "certificateFile": "/www/server/panel/vhost/cert/qq.bozai.us/fullchain.pem", //修改为你的域名
                            "keyFile": "/www/server/panel/vhost/cert/qq.bozai.us/privkey.pem" //修改为你的域名
                        }
                    ]
                }
            }
        }
    ], 
    "outbounds": [
        {
            "protocol": "freedom", 
            "settings": { }
        }
    ]
}

下面是trojan的修改方法:

 {
    "log": {
        "loglevel": "warning"
    },
    "inbounds": [
 {
            "listen": "0.0.0.0",
            "port": 443,
            "protocol": "trojan",
            "settings": {
                "clients": [
                    {
                        "password":"440221",
                        "email": "[email protected]", //此处为邮箱地址,随便修改
                        "level": 0,
                        "flow": "xtls-rprx-direct"        
                    }
                ],
                "decryption": "none",
                "fallbacks": [
                    {
               
                        "dest": 2222   //此处为回落端口,若更改,请更改后面Nginx的相应配置
                    }
                ]
            },
            "streamSettings": {
                "network": "tcp",
                "security": "tls",
                "tlsSettings": {
                    "serverName": "oliverhou.com", //修改为你的域名
                    "alpn": [
                        "h2",
                        "http/1.1"
                    ],
                    "certificates": [
                        {
                            "certificateFile": "/www/server/panel/vhost/cert/oliverhou.com/fullchain.pem", //修改为你的域名 注意证书的位置 破解版宝塔把cert改成ssl
                            "keyFile": "/www/server/panel/vhost/cert/oliverhou.com/privkey.pem" //修改为你的域名 注意证书的位置 破解版宝塔把cert改成ssl
                        }
                    ]
                }
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom",
            "settings": { }
        }
    ]
 }

最后补充一下多协议同端口回落

 {
    "log": {
        "loglevel": "warning"
    },
    "inbounds": [

 {
            "listen": "0.0.0.0",
            "port": 443,
            "protocol": "trojan",
            "settings": {
                "clients": [
                    {
                        "password":"440221",
                        "email": "[email protected]", //此处为邮箱地址,随便修改
                        "level": 0,
                        "flow": "xtls-rprx-direct"        
                    }
                ],
                "decryption": "none",
                "fallbacks": [
                    {
               
                        "dest": 2222   //此处为回落端口,若更改,请更改后面Nginx的相应配置
                    }
                ]
            },
            "streamSettings": {
                "network": "tcp",
                "security": "tls",
                "tlsSettings": {
                    "serverName": "oliverhou.com", //修改为你的域名
                    "alpn": [
                        "h2",
                        "http/1.1"
                    ],
                    "certificates": [
                        {
                            "certificateFile": "/www/server/panel/vhost/cert/oliverhou.com/fullchain.pem", //修改为你的域名 注意证书的位置 破解版宝塔把cert改成ssl
                            "keyFile": "/www/server/panel/vhost/cert/oliverhou.com/privkey.pem" //修改为你的域名 注意证书的位置 破解版宝塔把cert改成ssl
                        }
                    ]
                }
            }
        }
,//每个协议块用,号隔开
{
            "listen": "0.0.0.0",
            "port": 443,
            "protocol": "vless",
            "settings": {
                "clients": [
                    {
                        "id": "3e708264-834f-4c23-a40c-cfe9ae958f11", //此处改为你的UUID
                        "level": 0,
                        "email": "[email protected]", //此处为邮箱地址,随便修改
                        "flow":"xtls-rprx-direct"
                    }
                ],
                "decryption": "none",
                "fallbacks": [
                    {
                        "alpn": "h2",
                        "dest": 2222   //此处为回落端口,若更改,请更改后面Nginx的相应配置
                    }
                ]
            },
            "streamSettings": {
                "network": "tcp",
                "security": "xtls",
                "xtlsSettings": {
                    "serverName": "oliverhou.com", //修改为你的域名
                    "alpn": [
                        "h2",
                        "http/1.1"
                    ],
                    "certificates": [
                        {
                            "certificateFile": "/www/server/panel/vhost/cert/oliverhou.com/fullchain.pem", //修改为你的域名 注意证书的位置 破解版宝塔把cert改成ssl
                            "keyFile": "/www/server/panel/vhost/cert/oliverhou.com/privkey.pem" //修改为你的域名 注意证书的位置 破解版宝塔把cert改成ssl
                        }
                    ]
                }
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom",
            "settings": { }
        }
    ]
 }

其实还可以添加更多的协议,或者每个协议都可以用不同的端口,然后在网站配置中添加相应修改,这里就不再赘述

这里如果不熟悉的朋友可以直接输入指令vi /usr/local/etc/xray/config,json 使用vim修改(或者用宝塔的文件管理更方便)

完成上述步骤后,需要为我们的网站申请证书(我的已经有了就不演示了,波仔帖子这里没问题,注意,不要开启强制https,因为后面我们修改nginx会把80重定向至443就已经相当于强制https了,开启会导致重定向过多

搞定这一步就来到了网站设置界面(这里注意,波仔的帖子并不适用于所有情况,具体看下面)

在宝塔里打开网站设置界面,找到配置文件这一选项

首先在代码第一行插入如下代码(记得修改两处域名为你自己的域名)

server {
    listen       0.0.0.0:80;
    server_name  qq.bozai.us;#这里要改为自己的域名
    return 301 https://qq.bozai.us$request_uri;
}

然后修改下一个server块内的代码

注释443那一行,然后修改listen 80的那一行为listen 回落端口 http2

注意:这里的回落端口就是上面xray配置文件中对应的Dest端口

然后把原有的443那一行注释掉(搭建wordpress时没有开启https的可能没有这一行,可忽略这个提示)

最后加入一行代码,保持我们的博客访问时的格式

add_header Content-Security-Policy "upgrade-insecure-requests";

到这里就修改完了,具体参考如下图

最后我们测试一下xray

分别输入下面命令,查看 Xray 是否正常运行,若是有问题,就是配置文件出错



systemctl restart nginx
systemctl status nginx

systemctl restart xray
systemctl status xray

如图,就是ok了

接下来就是在v2rayN里配置相关的信息并导出节点连接,具体配置如图(trojan的也是类似)

(注意:clash并不支持vless,所以更推荐大家使用trojan的fallback)

最后这里说几个问题

1.首先是上面提到的,开启CDN无法连接,貌似在vless+xtls或者trojan下cdn加速(点亮小云朵)xray是没有办法工作的(具体情况不详,也可能是我记错了),所以在解析域名时要么直接不用cloudflare用自家的域名解析最好,或者不开启小云朵即可

2.第二,在开启https后访问网页可能会提示重定向过多,或者使用了ssl插件也可能会出现这种情况,这时候就需要修改配置文件了,具体操作看这个帖子

https://www.wppop.com/wordpress-https-you-cannot-visit-this-page.html

3.第二点不生效可能是证书问题,或者是特殊情况,必要时还需要使用phpadmin进数据库修改wp-option表中的字段,这也是我前面说的建议最好五个插件全都装,不是所有人都会mysql -u -p进数据库的

4.还有不明白直接看project X的文档最直截了当

https://xtls.github.io/Xray-docs-next/

5.上面的xray配置文件如果报错,尝试删除所有//后面的中文备注

6.该教学仅供参考,读者需遵守法律,热爱国家,不应将其用于非法活动

有问题可以在下面留言

VPS在宝塔LNMP环境下搭建proxypool获取免费Clash和V2ray节点

VPS 安装宝塔

https://www.bt.cn/bbs/thread-19376-1-1.html

下载相关文件

在虚拟机的根目录新建一个文件夹,名字随意

进入新建的文件夹,远程下载主程序代码

https://github.com/xiaofei-ya/proxypool/releases/download/v0.5.3/proxypool-linux-amd64-v0.5.3.gz
该版本为最新版,还没有继续更新,详情可以留意这个github仓库

解压在当前文件夹并重命名为 proxypool,并确定权限为 755(以上也可)

同样远程下载另外两个配置文件

https://raw.githubusercontent.com/xiaofei-ya/proxypool/master/config/config.yaml
配置文件
https://raw.githubusercontent.com/xiaofei-ya/proxypool/master/config/source.yaml
资源文件

解析域名

cloudflare 或者别的域名解析到自己的 VPS 地址

首先将自己的域名加入Cloudflare(或者其他CDN)

cloudflare参考教程:https://zhuanlan.zhihu.com/p/82909515

!!!注意这里域名解析的小黄云如果项目失败的话把它变灰再试一次,因为这个项目不需要加速,只需要DNS代理跳转

将SSL设置为完全严格

边缘证书会出现这个,这样就代理成功啦!ping这个网址就可以ping通

配置文件

双击打开配置文件 config

domain 就是你刚刚在CDN解析的域名

source-files 这里把前面的文件夹去掉,留下./source.yaml 即可

cral-interval 是爬虫爬取间隔,设置为 720 即可,不必过于频繁

下方 speedtest 可以打开或者关闭速度测试

网站反代

宝塔网站里添加一个网站,域名为刚刚解析好并填入配置文件的网址。

申请一个 ssl 证书,并打开强制 https

然后添加一个反向代理,代理到本机的 12580 端口(其他自定义也可以但是要和配置文件一致)

这里要提示一下,如果申请Let’s Encrypt不成功,请升级nginx版本和PHP版本

参考版本:Nginx:1.19 PHP:8.0

增加 / 删除抓取源

根据他给的格式自己进行添加 / 删除

其中TG频道直接填写TG频道网址后面的频道名字:

例如:https://t.me/GCPUS则填入GCPUS

其他条目自行百度或者评论留言

运行程序

使用ssh 启动程序

运行完输入ps -ef 查看进程是否有./config/source.yaml
若有即为成功,不成功原因可能有:config.yaml或者source.yaml格式错误

nohup ./proxypool -c config.yaml 1>>run.log 2>>run.log &

更新配置 / 重启程序

代码

cd /123 # cd后面是你自己设置的根目录路径
ps -ef

然后输入 kill -s 9 ./proxypool -c config.yaml 对应的 PID

比如我这里就是 kill -s 9 595199 # 每个人的 PID 是不一样的!

这样就结束进程了

再次启动使用启动命令即可

nohup ./proxypool -c config.yaml 1>>run.log 2>>run.log &

程序有启动时间,请在 3 分钟后刷新页面查看是否生效

Demo

代理池:https://proxy.olivers.works/

Fork 项目地址:https://github.com/xiaofei-ya/proxypool

节点筛选教程