这段时间是黑色星期五,外国很多网络服务商会趁机打折。近期我的朋友 Kevin 就给我推荐了一个美国 VPS 服务商:CloudCone,这家主机商黑五提供的机器一年只需要 20 刀。

他非常爽快的就购买了一台,我让他测试一下这台机器。虽然 ping 值挺高(200-300ms 左右),但是经过实测,它的表现还是远超乎了我的想象。我们首先上传了一个 25M 左右的视频,在我的网络环境下,可以流畅播放。对比一下之前的 GigsGigsCloud(一个月 10 刀),买到就是赚到啊!

黑五活动链接

我看了一下我现在的腾讯云学生机,它到明年四月过期。腾讯云过期之后的续费费用是很高的,没有几十块一个月根本用不了。想着一年只有黑五才有优惠,而且是 20 刀一年,多四个月空出来也不亏,便就有了入手的打算。

注册

如果需要购买,推荐使用 这个链接 进行注册,你可以为我提供微薄的一份帮助 ;)

和一般网站的注册方式一致,只需要填入电子邮箱和密码就可以完成注册。但我在注册的时候遇到了问题,点击电子邮箱的链接打开来提示 “Invalid token”,这种状态下无法重新注册也无法登录。最后是 Kevin 帮我点击修改密码才解决了问题==

无法连接 SSH

我刚开启新机之后发现这个机器无法用 SSH 连接,怀疑是被分配到被强的地址。首先我采用的是 ping 方法,发现地址可以被 ping 通。

接着我来到面板,艰难的 输入随机密码进入系统,安装 Apache 并启动服务。

yum install httpd
service httpd start

然后关闭防火墙(Kevin 告诉我的)

systemctl stop firewalld

Apache 理论上是可以跑起来了。然而,浏览器提示:无法访问。

接着我自然就是开代理测试,发现 Apache 的默认页面可以正常访问。

经过以上的调查,果然是 IP 被强了!于是找客服发工单,客服的回复效率非常高,十分钟以内就回复。

更换 IP

客服他告诉我,我现在的机器需要销毁(Destroy)才可以更换 IP,还需要扣除额外的 0.5 刀用于更换 IP。你不更换的话,根本就用不了,只能硬着头皮答应了。

我寻找了一下支付方式,我刚买机器用的是支付宝,可支付宝有最低限额 5 刀才可以充值。而 PayPal 则可以充值最低 1 刀。

坑爹的支付方式

PayPal 有着自己的坑爹汇率,如果你选择了 RMB 支付,他默认会按照它自己的汇率帮你转换成 1 USD。俗话说积少成多,我只被多坑了几毛钱。如果是更大的数额,那就给 PayPal 赚了不少钱了。

  • 正常汇率:1 CNY = 0.144 USD(约合¥6.94)
  • 它的汇率:1 CNY = 0.13883 USD(约合¥7.2)

我们可以通过更换兑换方式来获得更低的汇率,前提是你的银行卡属于双币卡。

输入金额(1 USD)-> 查看兑换选项 -> 选择 USD(不清楚我的工行卡是否支持)-> 使用 USD 付款 -> 立即付款

开新机

重置过两次之后,我终于拿到了新 IP 的机器。拿到机子首先第一步就是改密码,毕竟自带的随机密码实在是太难记了!

passwd root 你的密码

然后,我们利用 yum 更新一下所有软件。

yum update

我们选 y 确定更新所有包

然后安装 locate,方便我们快速搜素(Kevin 告诉我的)

yum install mlocate
updatedb

查找 SSH 配置文件,修改 SSH 的 22 默认端口。记住,修改完端口之后你的当前连接是不会被中断的。你的下一次登录,才会是新的端口。

locate sshd_config
vim /etc/ssh/sshd_config

设置防火墙,重启防火墙服务(Kevin 告诉我的)否则可能导致端口无法访问,无法连接 SSH

firewall-cmd --zone=public --add-port=你的端口/tcp --permanent
firewall-cmd --reload

安装 OneInstack

这个脚本是 @惶心 大力吹爆的,我也想借这个机会体验体验。

安装步骤很简单,按照 官网文档 提供的安装步骤,一步一步来就可以了。

新建站点

./vhost.sh

我选择 php(1)-> 自己的 SSL 证书(2)-> 域名(paugram.com)-> 不添加其他域名(n)-> 开启强制跳转 HTTPS(y)

接着会要你配置证书,这里我们直接一路按 Enter 就可以了。

然后提示是否设置防盗链(y)-> 是否配置伪静态(n)-> 是否记录访问日志(y)

上面我直接略过了证书,是因为这个证书是当前系统签发的,浏览器会认为是无效证书。我会换成自己的 SSL 证书。

# 进入 SSL 存放路径
cd /usr/local/nginx/conf/ssl/

# 用 VIM 修改内容,或是从原服务器用 wget 下载过来
vim /usr/local/nginx/conf/ssl/你的域名.crt
vim /usr/local/nginx/conf/ssl/你的域名.key

如果需要伪静态,自己去修改配置文件 /usr/local/nginx/conf/vhost/你的域名.conf 添加会更好。

我们的虚拟主机就已经添加完成了。

添加数据库

添加数据库则是采用 phpMyAdmin 来完成,首先访问 服务器 IP/phpmyadmin,输入 root 和你安装时配置的密码即可进入。

我们为了安全性,建议每个网站有一个独立的 SQL 账号,这样就为你的数据安全增加了一份保障(不会因为网站程序有漏洞导致其他数据库被入侵或是清空)

账户 -> 新增用户账户 -> 主机名(本地)-> 生成密码 -> 创建与用户同名的数据库并授予所有权限

数据库用户和表均创建完成。

Typecho 迁站

将原站内容打包为 ZIP

cd 网站路径
zip -r site.zip ./*

然后使用 wget 下载

wget 网站地址/site.zip

接着解压

unzip site.zip

修改 Typecho 的数据库参数,在 config.inc.php 的下面有个名为 addServer 的连接函数。

'host' => '127.0.0.1',
'user' => '新用户名',
'password' => '新密码',
'charset' => 'utf8mb4',
'port' => '3306',
'database' => '新数据库名称'

修改文件夹权限

chmod -R 755 *
chgrp -R www *
chown -R www *

Typecho 迁站完成。

Typecho 后台无法使用

在 OneInstack 环境下,Typecho 的后台提示 “Access Denied”,无法使用。这是由于其虚拟主机默认没有开启 pathinfo 所致。所以我们在对应虚拟主机的配置里面添加配置就可以了。

/usr/local/nginx/conf 目录下,利用 vim 新建文件 pathinfo.conf 并填写下面内容:

set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
    set $real_script_name $1;
    set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;

然后在你的虚拟主机配置(/usr/local/nginx/conf/vhost/你的域名.conf)里面引用 pathinfo.conf,需要放在 location ~ [^/]\.php(/|$) 里面才可以正常使用。

include pathinfo.conf;

然后重启服务

service nginx restart

这样你就发现 Typecho 的后台可以正常访问了。