基础知识
Typecho:
一个国内开发者开发的,基于PHP、内核强健、扩展方便、体验友好的轻量级开源博客程序。
官网:Typecho Official SiteTrojan:
一种将互联网通信流量伪装https流量,从而有效防止流量被检测和干扰的代理协议。https:
HyperText Transfer Protocol Secure,又称为HTTP over TLS、HTTP over SSL或HTTP Secure,是一种通过计算机网络进行安全通信的传输协议,默认使用443端口。443端口:
https 请求的默认端口,搭建开启安全访问的 typecho 博客和 trojan 服务器都需要使用443端口。
教程目的
在一台VPS上同时搭建 typecho 博客和 trojan 服务
以域名
example.com
和www.example.com
为例:- 博客
example.com
套用cdn服务以达到隐藏VPS真实IP、加速博客访问速度的目的; - 博客
example.com
和www.example.com
均能通过 https 访问; - Trojan 服务器
www.example.com
在 Quantumult X 等工具上能正常运行。
- 博客
选购域名和服务器
1.域名购买
国内域名需要备案,so:
- 免费域名推荐
freenom.com
- 付费域名推荐
godaddy.com
2.VPS购买
不怕跑路,哪里买都行;
希望稳定推荐 腾讯云
、阿里云
等大厂,推荐香港、新加坡、美国等地的机器。
推荐配置:CentOS7X+、内存1G+、硬盘20G+
域名解析
1.使用 Cloudflare 免费服务
- 点击
添加站点/Add a Site
,输入你的域名example.com
,点击添加站点/Add Site
- 选择
Free
免费开始使用 -继续
2.修改网站 DNS 服务器
Freenom 设置
Manage Domain
-Management Tools
-Nameservers
-Use custom nameservers
- 修改 Nameserver1 为
gina.ns.cloudflare.com
- 修改 Nameserver2 为
jason.ns.cloudflare.com
- 完成后,点击
Change Nameservers
确定,几分钟后收到来自Cloudflare的网站成功激活邮件。
Godaddy 设置
管理域名
-DNS
-管理区域
- 搜索你自己的域名example.com
域名服务器
-使用自定义域名服务器
-更改
-使用自己的域名服务器
- 修改 Nameserver1 为
gina.ns.cloudflare.com
- 修改 Nameserver2 为
jason.ns.cloudflare.com
- 点击保存,几分钟后收到来自Cloudflare的网站成功激活邮件。
3.在 Cloudflare 解析域名
- 登陆Cloudflare,选择新添加的网站,点击
DNS
- 新增A记录,
Name
输入@
,IPv4地址
输入你的 VPS IP地址,关闭代理并保存; - 新增A记录,
Name
输入www
,IPv4地址
输入你的 VPS IP地址,关闭代理并保存;
通过宝塔面板安装 Typecho
1.DD系统(非必要,自行斟酌)
获取vps root权限后,推荐使用一键DD命令,选择对应的系统进行纯净重装:
wget --no-check-certificate -O AutoReinstall.sh https://git.io/AutoReinstall.sh && bash AutoReinstall.sh
⚠️注意记录新系统登陆密码,CentOS 默认密码为 Pwd@CentOS、Debain默认密码为 Pwd@Linux
- 出现
Not Found grub.
错误提示,使用以下命令解决:
grub2-mkconfig -o /boot/grub2/grub.cfg
- dd结束后,用新密码重新登陆vps,并使用
passwd
命令重置密码
2.安装宝塔面板
- 重新连接vps,运行宝塔面板安装命令。
以下宝塔一键安装命令仅限CentOS系统,其它系统安装命令请查看官网安装方法。
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
⚠️安装完毕会提示宝塔面板登录地址、用户名及密码,记录下来登录宝塔面板。
- 进入宝塔面板后会提示安装LNMP,选择
LNMP(推荐)
PHP版本选择PHP 7.1
,勾选极速安装
,点击一键安装
后等待安装完成。 - 绑定宝塔账号,点击
面板设置
,自定义修改安全入口
、面板用户
、面板密码
若未修改安全入口、面板用户及密码,可在SSH连接VPS后使用/etc/init.d/bt default
命令查看面板登陆地址、用户名和密码
3.创建网站
- 点击
网站
-添加站点
,域名填写我们已经解析好的两个域名; 数据库
选择MySQL-utf8
,账号密码默认;- 其它都可默认,确定
提交
。
⚠️记录下数据库名
、数据库用户名
(备用)、密码
(备用) - 网站创建完成后,点击左侧栏中
数据库
进入,点击root密码
。
⚠️查看并记录 root 密码
4.下载并安装Typecho
- 进入Typecho官网下载正式版安装包;
- 在宝塔面板点击
网站
-根目录
进入后,删除当前全部文件,然后将下载好的 Typecho 文件压缩包上传至网站目录并解压,得到 build 文件夹; - 把 build 文件夹中的文件全部复制到根目录中,然后删除 build 文件夹 和 Typecho 压缩包;
5.配置 Typecho
浏览器访问
example.com/install.php
,进入配置页面。数据库用户名
默认 root;数据库密码
需填写数据库root密码
;数据库名
记录下来的数据库名
- 创建管理员账号,设置用户名和密码
6.修改默认Nginx配置
- 宝塔面板内找到:
软件商店
–已安装
–Nginx
-设置
-配置修改
- 在 http 模块前面增加如下代码并保存
⚠️请将代码中的域名对应替换为你自己的域名
stream {
map $ssl_preread_server_name $backend_name {
example.com web;
www.example.com trojan;
default web;
}
upstream web {
server 127.0.0.1:4433;
}
upstream trojan {
server 127.0.0.1:10110;
}
server {
listen 443 reuseport;
listen [::]:443 reuseport;
proxy_pass $backend_name;
ssl_preread on;
}
}
7.为域名申请证书并修改网站Nginx 配置文件
点击网站
- 设置
,进入设置界面
域名管理
界面下,点击SSL
-Lets Encrypt
,勾选绑定的两个域名,点击申请
证书;
申请成功后打开界面右上角强制HTTPS
开关- 点击
伪静态
,选择配置为typecho
-保存
点击
配置文件
,找到server
模块:- 找到
server
下的server_name
,把二级域名删除,只保留主域名; - 找到
server
下的listen 443 ssl http2
,将443改为为 4433; - 找到
server
下的if ($server_port !~ 443)
,将443改为为 4433。
- 找到
- 在原有的
server
模块下面增加如下代码并保存
⚠️请将代码中的域名对应替换为你自己的域名
server
{
listen 10111;
server_name www.example.com;
location / {
if ($http_host !~ "^example.com$") {
rewrite ^(.*) https://example.com$1 permanent;
}
if ($server_port !~ 4433){
rewrite ^(.*) https://example.com$1 permanent;
}
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log logs/aaa.com_access.log;
}
- 配置完成后,选择
软件商店
-Nginx
-设置
-重启
,重启 Nginx 服务。 - 刷新 Typecho 博客地址,
https
成功开启。
8.为主域名开启Cloudflar CDN 服务
返回 Cloudflare ,点击网站进入设置页面
- 点击
DNS
,将主域名example.com
的代理打开
(⚠️黄色云朵点亮) - 点击
SSL/TLS
,将加密模式
选择为完全(严格)/FULL
模式
安装 Trojan 服务
1.官方一键安装命令
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/trojan-gfw/trojan-quickstart/master/trojan-quickstart.sh)"
2.设置Trojan开启自动启动
systemctl enable trojan
3.修改Trojan配置文件
- 在宝塔面板点击
文件
,进入根目录,找到以下文件
/usr/local/etc/trojan/config.json
- 点击
编辑
,全选内容,替换为以下代码:
{
"run_type": "server",
"local_addr": "127.0.0.1",
"local_port": 10110,
"remote_addr": "127.0.0.1",
"remote_port": 10111,
"password": [
"example"
],
"log_level": 1,
"ssl": {
"cert": "/www/server/panel/vhost/cert/example.com/fullchain.pem",
"key": "/www/server/panel/vhost/cert/example.com/privkey.pem",
"key_password": "",
"cipher": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384",
"cipher_tls13": "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384",
"prefer_server_cipher": true,
"alpn": [
"http/1.1"
],
"alpn_port_override": {
"h2": 81
},
"reuse_session": true,
"session_ticket": false,
"session_timeout": 600,
"plain_http_response": "",
"curves": "",
"dhparam": ""
},
"tcp": {
"prefer_ipv4": false,
"no_delay": true,
"keep_alive": true,
"reuse_port": false,
"fast_open": false,
"fast_open_qlen": 20
},
"mysql": {
"enabled": false,
"server_addr": "127.0.0.1",
"server_port": 3306,
"database": "trojan",
"username": "trojan",
"password": "",
"key": "",
"cert": "",
"ca": ""
}
}
- 将
password
下的example
替换为你自己的Troajn密码
;
将ssl
下cert
和key
路径中的example.com
替换为你自己的域名 - 点击
保存
,命令重启 Trojan 服务
systemctl restart trojan
- 安装BBR加速(可选)
wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh
4.在 Quantumult X 内添加 Trojan 节点
- 点击 Qutumult X 右下角
小风车
-配置文件
-配置片段
-节点
- 在打开的文档界面输入
trojan=www.example.com:443, password=你的密码, over-tls=true, tls-verification=false, fast-open=true, udp-relay=false, tag=给自己的节点命名
⚠️将代码中的域名及密码替换为你自己的
- 点击
保存
,文件名随意,例如我的节点
节点
-引用(订阅)
- 右上角添加
标签
随意填写,例如:自用资源路径
填写保存的文件名,例如:我的节点
- 保存,enjoy!
可能遇到的一些问题
1.Typecho 管理后台能访问但无法登陆
- 症状:
Typecho 域名套用 Cloudflare CDN 服务,且强制开启 https 访问;
正常打开 Typecho 管理后台,输入用户名和密码点击登陆,页面刷新一下,无法登陆。
- 解决办法:
进入宝塔面板点击
网站
-根目录
,在/example.com
下找到config.ini.php
文件并打开,在文件内复制粘贴以下内容
/** 开启HTTPS */
define('__TYPECHO_SECURE__',true);
2.Typecho 无法开启伪静态
- 症状:
无法隐藏
独立页面:example.com/index.php/example.html
中的index.php
解决办法:
- 在 Typecho 后台配置伪静态
进入后台,
设置
-永久链接
:是否启用地址重写功能
,选择启用
自定义文章路径
,选择wordpress风格 /archives/{slug}.html
- 保存时如果提示
重写功能检测失败...
,选择如果你仍然想启用此功能,请勾选这里
并继续
- 通过apache配置伪静态
进入宝塔面板,点击
网站
-根目录
,在/example.com
下新建空白文件并命名为.htaccess
,双击打开文件,复制以下代码至文件并保存<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L] </IfModule>