分类 默认 下的文章

/etc/systemd/system/ 增加gogs.service 文件,内容如下

[Unit]
Description=Gogs Service
After=network.target
Wants=network.target

[Service]
# You may consider to run it as another use for security concerns.
User=git
Group=git
Type=simple
PIDFile=/var/run/gogs.pid
ExecStart=/home/git/gogs/gogs web
Restart=on-failure

[Install]
WantedBy=multi-user.target

之后就可以执行 systemctl start|stop|restart|enable gogs

原理先不说了,关于Linux TCP连接的问题,网上很多,这里只写一下一种解决方案。
Nginx 1.1以上版本的upstream已经支持keep-alive的,所以我们可以开启Nginx proxy的keep-alive来减少tcp连接。
upstream中的keepalive设置单个worker最大请求数,参数proxy_http_version 1.1强制转换为http1.1协议(默认支持长连接),proxy_set_header Connection将请求头部connection为空(http1.0请求默认connection头部为close)。

upstream http_backend {
    server 127.0.0.1:3003;
    keepalive 16;
}

server {
    ...
    location /http/ {
        proxy_pass http://http_backend;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        ...
    }
}