新VPS独立部署youBBS 方法

By ego008 at 2017-12-07 18:58 • 2056次点击
ego008

这种方法适合在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 端口占用或未开启


vps, youbbs, 方法


这个好,简单明了,大赞

唯一 at 2017-12-07 19:13
1

另外这个备份回复数据库怎么弄啊?

唯一 at 2017-12-07 19:15
2

@唯一 网站根目录有一个文件夹databackup,里面是每天备份的数据,网站程序停止后覆盖网站数据就可以,网站数据默认放在根目录下,文件名:mydata.db

可以在配置文件里自行修改路径

Youdb: "mydata.db"
ego008 at 2017-12-07 19:19
3

@ego008 直接用root账户跑?

root at 2017-12-07 20:15
4

我估计卡80 端口占用这里了,其他都和你一样,但是打开主页不行

80 端口占用,这个怎么处理啊?

唯一 at 2017-12-07 20:43
5

我微信忘记密码了,打不开,这里又不好私信你vps

root密码

唯一 at 2017-12-07 20:44
6

@ego008

帮我看看怎么打不开网站的,照你方法做了,估计是80端口的问题

198.13.42.30
root
-L5m}4e]Fj4TqQHG

唯一 at 2017-12-07 21:08
7

@唯一 防火墙问题,运行下面一条命令

iptables -I INPUT 1 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
ego008 at 2017-12-07 22:05
8

@ego008 赞,

唯一 at 2017-12-07 22:09
9

发现添加分类时,手机端,分类介绍输入框宽度不自适应,帮着测试,希望youbbs越来越好

唯一 at 2017-12-07 22:24
10

@ego008 其他都搞定了,按照你的方法在最后加两行,但是不能自启动

唯一 at 2017-12-08 06:57
11

@ego008 不能自启动什么原因了,我
vi /etc/rc.local

cd /srv/www/youbbs
/srv/www/youbbs/goyoubbs -config=/srv/www/youbbs/config/config.yaml &
也不行,另外我xshell打开着,网站就能访问,关闭,网站就不能访问

root

Z.j4ScZA(TwZ_B(g

唯一 at 2017-12-08 10:04
12

我遇到的问题估计小白都会遇到,写个留着让后人看
在安装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保存退出

唯一 at 2017-12-08 10:12
13

@root 121

Error at 2017-12-08 10:15
14

@唯一 不能自启,原因那个sh 脚本没有运行

在命令行里敲入下面一句,回车即可

chmod +x /etc/rc.d/rc.local
ego008 at 2017-12-08 11:15
15

完美解决,不会安装的,看这篇帖子基本能解决所有问题了

唯一 at 2017-12-08 11:52
16

@ego008 云了,重装系统在再装youbbs几次了,前面https都正确的也打开网站

到自启动chmod +x /etc/rc.d/rc.local这步完成后

我reboot重启vps看效果,就打不开网站,我试着./goyoubbs

但是显示
2017/12/08 10:17:34 MainDomain: https://fulisss.cc 9
2017/12/08 10:17:35 Connect Error: timeout

root

3mS#F=DE1aGq{,fY

唯一 at 2017-12-08 18:22
17

@唯一

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 &
ego008 at 2017-12-08 18:46
18

@ego008 原来允许80、443端口的这两条在这里加

我[root@ffyybb youbbs]# 在这里粘贴的,汗

唯一 at 2017-12-08 19:08
19

@唯一 这两条命令是临时添加,重启后失效,所以要在重启时再次添加

ego008 at 2017-12-08 19:13
20

@ego008 reboot重启vps后还是打不开网页,

唯一 at 2017-12-08 19:14
21

域名绑定conf文件默认是80 需要改成8020不?

青歌 at 2018-01-02 02:53
22

@青歌 不能和已用端口相同

ego008 at 2018-01-02 08:25
23

@ego008 辛苦了,真的很感激你写了这么多代码,但是有些遗憾的是你把字符串之类的都直接写在网页里了,我觉得这样并不好。

此外,配置文件的编码建议改成utf-8,不然的话,加一个中文的逗号,比如网站名,就会出错(别的文件都是utf-8了)

还有一个问题想请教您,我把HTTPS设成了xxx.org,但是我还有域名 www.xxx.org

www.bbs.xxx.org等,怎样把多个域名设成HTTPS?

等待您的反信

sohoelf at 2018-03-26 19:12
24

@sohoelf 解析 yaml 用的是 https://github.com/go-yaml/yaml/tree/v2.2.0 1 ,对中文解析确实有bug,如果是string 为避免出错,需用英文引号来框住,下面是官网的配置文件部分内容。

支持多域名自动配置https,只需在配置文件里添加多域名,如:

Main:
    ...
    Domain: "sub1.example.com,sub2.example.com"
ego008 at 2018-03-26 20:54
25

@ego008

受教了!感谢
再次打扰您一下,非常抱歉

HTTPS配置好了以后,重启以后就无法正常访问了,不是端口443的问题。
怎样能恢复到以前的状态?这段时间有很多电脑都访问过这个网站,所以我就算改回http,他们默认是https,仍然访问不了,而且谷歌浏览器就算故意加上前缀【http】,默认还是https。我一开始以为是dns的问题,到后来发现换了个浏览器就能上了,而之前用https访问过的浏览器都不能

sohoelf at 2018-03-27 00:24
26

@ego008 还有一个问题,我启动文件里写了
iptables -I INPUT 1 -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
cd /srv/www/youbbs
./goyoubbs
服务确实正常运行了,但是会卡在进度条界面,不知道为什么>_<

sohoelf at 2018-03-27 03:25
27

@ego008 上面的问题解决了,我忘记加&后台运行了>_<好丢人,打扰您了。我现在就只剩下26楼的问题了。

比如小A同学,在我HTTPS服务正常的时候登录了网站,做了一些事情。到了第二天,我HTTPS坏掉了,只能用http。但是他的浏览器还会默认用https去访问导致无法访问

sohoelf at 2018-03-27 03:30
28

@sohoelf

* 把这一行 https://github.com/ego008/goyoubbs/blob/master/main.go#L161 11 的 301改为302 (github上刚修改)
* 重新编译
* 修改配置,不启用https

ego008 at 2018-03-27 07:11
29

@ego008

了解了,谢谢您,辛苦了!!

sohoelf at 2018-03-27 16:54
30

@ego008

请问,怎样执行重新编译?

sohoelf at 2018-03-27 16:56
31

abcdefg test

justworker at 2018-03-27 17:47
32
登录 后发表评论