基础知识

Typecho
一个国内开发者开发的,基于PHP、内核强健、扩展方便、体验友好的轻量级开源博客程序。
官网:

Trojan
一种将互联网通信流量伪装https流量,从而有效防止流量被检测和干扰的代理协议。

https
HyperText Transfer Protocol Secure,又称为HTTP over TLS、HTTP over SSL或HTTP Secure,是一种通过计算机网络进行安全通信的传输协议,默认使用443端口。

443端口
https 请求的默认端口,搭建开启安全访问的 typecho 博客和 trojan 服务器都需要使用443端口。

教程目的

在一台VPS上同时搭建 typecho 博客和 trojan 服务

example.comwww.example.comexample.comexample.comwww.example.comwww.example.com

选购域名和服务器

1.域名购买

国内域名需要备案,so:

freenom.comgodaddy.com

2.VPS购买

腾讯云阿里云

推荐配置:CentOS7X+、内存1G+、硬盘20G+

域名解析

1.使用 Cloudflare 免费服务

添加站点/Add a Siteexample.com添加站点/Add SiteFree继续

2.修改网站 DNS 服务器

Manage DomainManagement ToolsNameserversUse custom nameserversgina.ns.cloudflare.comjason.ns.cloudflare.comChange Nameservers管理域名DNS管理区域example.com域名服务器使用自定义域名服务器更改使用自己的域名服务器gina.ns.cloudflare.comjason.ns.cloudflare.com

3.在 Cloudflare 解析域名

DNSName@IPv4地址NamewwwIPv4地址

通过宝塔面板安装 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
passwd

2.安装宝塔面板

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

⚠️安装完毕会提示宝塔面板登录地址、用户名及密码,记录下来登录宝塔面板

LNMP(推荐)PHP 7.1极速安装一键安装面板设置安全入口面板用户面板密码/etc/init.d/bt default

3.创建网站

网站添加站点数据库MySQL-utf8提交数据库名数据库用户名密码数据库root密码

4.下载并安装Typecho

网站根目录

5.配置 Typecho

example.com/install.php数据库用户名数据库密码数据库root密码数据库名

6.修改默认Nginx配置

软件商店已安装Nginx设置配置修改
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 配置文件

网站设置
域名管理SSLLets Encrypt申请强制HTTPS伪静态typecho保存配置文件serverserverserver_nameserverlisten 443 ssl http2serverif ($server_port !~ 443)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设置重启https

8.为主域名开启Cloudflar CDN 服务

返回 Cloudflare ,点击网站进入设置页面

DNSexample.comSSL/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": ""
    }
}
passwordexampleTroajn密码sslcertkeyexample.com保存
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 节点

小风车配置文件配置片段节点
trojan=www.example.com:443, password=你的密码, over-tls=true, tls-verification=false, fast-open=true, udp-relay=false, tag=给自己的节点命名

⚠️将代码中的域名及密码替换为你自己的

保存我的节点节点引用(订阅)添加标签资源路径我的节点

可能遇到的一些问题

1.Typecho 管理后台能访问但无法登陆

  • 症状:

Typecho 域名套用 Cloudflare CDN 服务,且强制开启 https 访问;
正常打开 Typecho 管理后台,输入用户名和密码点击登陆,页面刷新一下,无法登陆。

  • 解决办法:
网站根目录/example.comconfig.ini.php
/** 开启HTTPS */
define('__TYPECHO_SECURE__',true);

2.Typecho 无法开启伪静态

  • 症状:
独立页面:example.com/index.php/example.htmlindex.php
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>