目前 vultr 上最便宜的 vps 为 1c1g 价格 5 美元,使用https://github.com/justjavac/deno_vultr可以按需启动 vultr,在不用的时候关闭实例,这样可以进一步控制成本.
前置工作
创建一台 vps 实例
创建一台 vsp 实例,并部署好你需要的服务(ss/ssr/v2ray 等等),
我之前创建 v2ray 的文章:https://h123.cf/2020/03/20/2020.03.12.v2ray+traffic_mask/.
创建这台 vps 的 snapshot,并记录下 snapshot id:
搭建服务
克隆仓库
1 |
|
修改配置文件 /config/vultr.ts
1 | export const SNAPSHOTID = "xxxxxxxxxxxxx"; |
也可以可以自行修改 ./config/app.ts 文件.
运行
1 |
|
停止以后实例会被删除,点击开始后会从之前的快照恢复实例.
后记
centos 7 以上运行 deno 出错的问题
安装 deno 运行时报错:
1 | When centos7 installs deno, version `GLIBC_2.18' not found |
在网上找到一篇文章:
https://www.programmersought.com/article/23921150522/
1 | # 1. Download and extract |
重启以后 nginx 权限出错的问题
我在 vps 使用的是 nginx + v2ray,在重启之后发现 nginx 代理出错,查看日志/var/log/nginx/error.log
以后发现报错:
1 | 339 connect() failed (13: Permission denied) while connecting to upstream |
网上查了一下发现是是因为 SeLinux 的限制.
关闭 seLinux
- 临时关闭: setenforce 0 ##设置 SELinux 成为 permissive 模式
- 永久关闭: 修改/etc/selinux/config 文件
将SELINUX=enforcing
改为SELINUX=disabled
并重启机器即可.
centos7 查看/设置/取消开机启动项
查看开机启动项列表(enable 表示开机启动,disabled 表示开机不启动)
1 |
|
过滤查看
1 | # 查看启用的开机启动项 |
添加某个服务为开机自动启动
1 | systemctl enable ***** |
取消服开机启动项
1 | systemctl disable ***** |
centos 7 开机自启动有两种不同的设置方式,如果是 yum 直接安装的软件服务,则直接开启即可,如果是源码编译安装的,则需要在系统服务(system)创建 service 文件,然后才能设置。
用源码编译安装 nginx 时 u 要手动创建 nginx.service 服务文件。开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:
1 | /lib/systemd/system/ |
创建 nginx.service 文件
1 |
|
写入如下内容:
1 | [Unit] |
1 | [Unit]:服务的说明 |
查看 nginx 状态
1 | systemctl status nginx.service |
其他命令
1 | # 启动 nginx 服务 |
参考
https://segmentfault.com/a/1190000022665540