基础知识
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.com2.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.com3.在 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.cfgpasswd2.安装宝塔面板
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 default3.创建网站
网站添加站点数据库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)serverserver
{
    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设置重启https8.为主域名开启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 trojan3.修改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.sh4.在 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>