新VPS独立部署youBBS 方法
这种方法适合在vps 上只运行youBBS,没有其它的网站或占用80、443端口的服务。 因为youBBS 对环境依赖很小,支持windows、linux 服务器,但建议选择64位的linux 服务器,如CentOS、ubuntu或debian。下面是以 CentOS 7 x86_64 系统为例。
首先把你的域名(yourdomain.com)解析到你的VPS。
建立网站目录,我习惯把网站放在这个目录 /srv/www
mkdir -p /srv/www/youbbs
cd /srv/www/youbbs
下载最新的代码包并解压:
wget https://github.com/ego008/goyoubbs/releases/download/master/goyoubbs-linux-amd64.zip
wget https://github.com/ego008/goyoubbs/releases/download/master/site.zip
unzip goyoubbs-linux-amd64.zip
unzip site.zip
这时用命令:ls -l 查看当前文件夹文件列表:
# ls -l
总用量 21752
drwxr-xr-x 2 root root 4096 12月 7 03:13 config
drwxr-xr-x 2 root root 4096 12月 7 03:13 databackup
-rwxr-xr-x 1 root root 15412585 12月 7 03:06 goyoubbs
-rw-r--r-- 1 root root 6646240 12月 7 03:51 goyoubbs-linux-amd64.zip
-rw-r--r-- 1 root root 1057 11月 7 08:25 LICENSE
drwxrwxr-x 3 root root 4096 12月 7 03:24 __MACOSX
-rw-r--r-- 1 root root 1925 12月 7 03:12 README.md
-rw-r--r-- 1 root root 177935 12月 7 03:52 site.zip
drwxr-xr-x 9 root root 4096 12月 7 03:13 static
drwxr-xr-x 3 root root 4096 12月 7 03:13 view
修改配置文件
vi config/config.yaml
把 HttpPort: 8082 改为 HttpPort: 80,保存
运行主程序:
./goyoubbs
如果看到下面提示则正常:
2017/12/07 05:30:33 MainDomain: http://127.0.0.1:8082
2017/12/07 05:30:33 youdb Connect to mydata.db
2017/12/07 05:30:33 Web server Listen port 80
此时在浏览器打开你的网址就能看到网站首页
接下来试试HTTPS
在命令界面按CTRL+C 终止网站进程,修改配置文件 vi config/config.yaml, 你只要修改两个地方:把HttpsOn: true, Domain: "yourdomain.com"示例如下
Main:
HttpPort: 80
HttpsOn: true
Domain: "yourdomain.com"
HttpsPort: 443
PubDir: "static"
ViewDir: "view/default"
保存退出,运行主程序 ./goyoubbs ,如果出现下面的提示则正常:
# ./goyoubbs
2017/12/07 05:39:48 MainDomain: http://127.0.0.1:8082
2017/12/07 05:39:48 youdb Connect to mydata.db
2017/12/07 05:39:48 Register sll for domain: yourdomain.com
2017/12/07 05:39:48 Web server Listen port 443
2017/12/07 05:39:48 Web server URL https://yourdomain.com
在浏览器输入网址便可以看到网站首页
https://yourdomain.com
第一次请求可能慢一点
回到命令行界面,按CTRL+C 终止网站进程,ls -l 看一下,此时目录下会多一个文件夹certs,这是存放证书文件的夹子。
drwx------ 2 root root 4096 12月 7 05:39 certs
下面要做的是开机自启,较简单的方法是在/etc/rc.local 最后面添加两行
vi /etc/rc.local
cd /srv/www/youbbs
/srv/www/youbbs/goyoubbs -config=/srv/www/youbbs/config/config.yaml &
保存退出,再运行下面一行(让/etc/rc.d/rc.local 文件可实行)
chmod +x /etc/rc.d/rc.local
重启看看网站能不能自启
你可能遇到的其它相关问题: 编辑器 vi 基本使用 unzip 安装 80、443 端口占用或未开启
我遇到的问题估计小白都会遇到,写个留着让后人看 在安装YOUBBS最开始先 unzip 安装 yum install -y unzip zip
80端口的问题,上面站长解决了 iptables -I INPUT 1 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
然后编辑器 vi 基本使用 按字母i就可以编辑,编辑完成后按ESC键,再:wq保存退出
@ego008 云了,重装系统在再装youbbs几次了,前面https都正确的也打开网站
到自启动chmod +x /etc/rc.d/rc.local这步完成后
我reboot重启vps看效果,就打不开网站,我试着./goyoubbs
但是显示 2017/12/08 10:17:34 MainDomain: https://fulisss.cc 12 2017/12/08 10:17:35 Connect Error: timeout
root 3mS#F=DE1aGq{,fY
@唯一
vi /etc/rc.d/rc.local 添加两行,允许80、443端口可访问,如下
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
cd /srv/www/youbbs
/srv/www/youbbs/goyoubbs -config=/srv/www/youbbs/config/config.yaml &
@sohoelf 解析 yaml 用的是 https://github.com/go-yaml/yaml/tree/v2.2.0 1 ,对中文解析确实有bug,如果是string 为避免出错,需用英文引号来框住,下面是官网的配置文件部分内容。
支持多域名自动配置https,只需在配置文件里添加多域名,如:
Main:
...
Domain: "sub1.example.com,sub2.example.com"
- 把这一行 https://github.com/ego008/goyoubbs/blob/master/main.go#L161 11 的 301改为302 (github上刚修改)
- 重新编译
- 修改配置,不启用https