youBBS生产环境部署

By ego008 at 2017-12-08 13:26 • 1099次点击
ego008

前面已经介绍了youBBS 独立部署的方法,这次简单说一下与其它网站/服务共存的部署方法。

goyouBBS 进程独立,可用supervisor 管理进程、手动启动、开机自启,推荐使用supervisor。

下面是使用supervisor 管理进程的配置示例:

[program:youbbs]
command = /srv/www/youbbs/goyoubbs -config=/srv/www/youbbs/config/config.yaml
process_name = youbbs
stopwaitsecs = 10
directory = /srv/www/youbbs
redirect_stderr=true
autostart=true
autorestart=true
stdout_logfile=/srv/logs/youbbs_out.log
stderr_logfile=/srv/logs/youbbs_err.log

前端推荐顺序是 Nginx、Caddy、Apache、SSLDocker。

nginx 配置示例:

server {
    listen       80;
    server_name  yourdomain.com;

    charset utf-8;

    access_log /logs/youbbs/access.log;
    error_log /logs/youbbs/error.log;

    client_max_body_size 100M;
    client_body_buffer_size 100M;

    location / {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8082;
    }

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }

}

Caddy 配置示例:

yourdomain.com {
    proxy  / 127.0.0.1:8082
    gzip
}

Apache 配置示例:

<VirtualHost *:80>
    ServerAlias yourdomain.com
    ProxyPass / http://127.0.0.1:8082/
    ProxyPassReverse / http://127.0.0.1:8082/
</VirtualHost>

SSLDocker 配置示例:

{
  "GzipOn": true,
  "Http2https": true,
  "MaxHeader": 100,
  "Certs": "certs",
  "ProxyItems": [
    {"Host": "yourdomain.com", "Target": "http://127.0.0.1:8082"}
  ]
}

成熟、稳定选nginx;
方便轻量用Caddy 或 SSLDocker,这两者都是自动支持HTTPS,前者功能多,后者更轻量,只专注于反向代理和管理HTTPS;
Apache 不推荐。

相关网址:
Supervisor http://supervisord.org/ 3
Nginx https://nginx.org/en/ 2
Caddy https://caddyserver.com/ 7
SSLDocker https://ssldocker.com/ 17
Apache https://httpd.apache.org/ 2


youbbs, 环境


我是直接把静态文件交给nginx处理。。。你说的神器是caddy吧。。这好早就听人家说过。。。据说caddy比nginx还要快。。。哈哈。不过还是觉得nginx应该比较成熟的产品

root at 2017-12-08 17:51
1

supervisor

还能自动重启进程吗?

@ego008

root at 2017-12-08 17:54
2

@root Caddy和 SSLDocker,估计后者功能是前者的四分之一,但这1/4的功能正是我想要的,在一个128M的小VPS 上挂多个小主题网站很合适,省得重复在nginx 上配置HTTPS麻烦。

stopwaitsecs=10      ; 最长结束等待时间,否则使用 SIGKILL (default 10)配合youbbs 的优雅重启
autostart = true     ; 在 supervisord 启动的时候也自动启动
startsecs = 5        ; 启动 5 秒后没有异常退出,就当作已经正常启动了
autorestart = true   ; 程序异常退出后自动重启
startretries = 3     ; 启动失败自动重试次数,默认是 3
ego008 at 2017-12-08 19:04
3

nice

root at 2017-12-08 20:06
4

@ego008 虽然精简。。。还是期待你测试报告,看稳定性杠不杠。。。

root at 2017-12-08 20:08
5

还是在服务器上 直接安装 youbbs

然后 要在后台运行吗? 然后用 ngix 判断 区分、

可以说的明白一点不?

飞龙1 at 2018-08-27 17:59
6

@ego008 问一个有点弱的问题,SSLdocker支持目录吗?就是

{"Host": "yourdomain.com", "Target": "/var/www/html"}

SSLdocker能不能这样做?支持静态目录,本着省钱,一个VPS跑着youbbs,再跑一个静态网站这样。这样就可以完全不用nginx

qoo酷儿 at 2018-08-29 22:37
7

@qoo酷儿 用nginx或caddy吧,比较成熟,功能多。

ego008 at 2018-08-30 07:42
8

@ego008 哈哈,昨晚刷新几次不见回复,就试着接触下caddy,真没想到这么简单,简单到爆炸。还以为要花时间看手册爬文章,哪知道这么简单的。

只要注意下配置文件命名是 Caddyfile 是大写C不是小写,就直接支持引用了。
curl 下载一下,vim Caddyfile 一下,就Ok了。

qoo酷儿 at 2018-08-30 17:39
9
登录 后发表评论