首先 安装好 Git, MySQL,go语言环境,
下载gogs安装包 解压进入目录,再运行gogs之前,记得先在mysql建一个名为gogs的数据库,然后运行./gogs web
那么默认端口就是3000了 这个时候你就可以访问/install初始化设置了
下面我介绍一下怎么后台运行gogs:
nohup ./gogs web &就可以在后台运行关于重启,
需要先结束gogs进程,gogs默认端口位3000了
lsof -i:3000
然后杀死进程
kill -9 pid
然后重新启动就好!
gogos 默认是 3000端口,如果你本身已经有了其他WEB服务,比如apache,当然不可能同时占用80端口,这时候就可以利用apapche的proxy功能。如果你是apt-get 安装 的apache,就方便了,debian/ubuntu 都支持a2ensiate,a2enmod这样的小脚本。你只要打开a2enmod proxy proxy_http就行了,然后新建一个site加入以下配置
<VirtualHost *:80>
ServerAdmin test@test.com
ServerName yoursitename
ProxyRequests off
ProxyPass / http://127.0.0.1:3000/
ProxyPassReverse / http://127.0.0.1:3000
<Proxy *>
Order Deny,Allow
Allow from all
</Proxy>
ErrorLog ${APACHE_LOG_DIR}/yoursitename.log
LogLevel warn
</VirtualHost>
不过这时候有具小缺点,那就是如果你killall gogs进程的话,你会发现再也启动不了了.看启动的LOG会告诉你3000端口被占用,用netstat -an|grep 3000,发现有N个进程都是在CLOSE_WAIT的情况,这时候用: echo $(netstat -anp|grep 127.0.0.1:3000 |awk '{print $7}') 发现,全是apache2占着这些进程.
怀疑刚才在强杀gogs进程的时候,apache因为开着proxy导致刚刚向3000端口发起请求就挂起,导致异常关闭所以一直卡住(以前用nginx的做反代的时候也有类似问题,只要客户机挂了,nginx必须 重启),所以我重启了一下apache,立刻发现gogs启动成功.
网友评论