手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜Qcloud , 注册 | 登陆

gogs 如何不使用端口进行访问

首页 > Linux >

gogos 默认是 3000端口,如果你本身已经有了其他WEB服务,比如apache,当然不可能同时占用80端口,这时候就可以利用apapche的proxy功能。如果你是apt-get 安装 的apache,就方便了,debian/ubuntu 都支持a2ensiate,a2enmod这样的小脚本。你只要打开a2enmod proxy proxy_http就行了,然后新建一个site加入以下配置

XML/HTML代码
  1. <VirtualHost *:80>  
  2.     ServerAdmin test@test.com  
  3.     ServerName yoursitename  
  4.     ProxyRequests off  
  5.     ProxyPass / http://127.0.0.1:3000/  
  6.     ProxyPassReverse / http://127.0.0.1:3000  
  7.     <Proxy *>  
  8.         Order Deny,Allow  
  9.         Allow from all  
  10.     </Proxy>  
  11.     ErrorLog ${APACHE_LOG_DIR}/yoursitename.log  
  12.     LogLevel warn  
  13. </VirtualHost>  
是不是很简单,这时候你用supervisor启动后就可以通过WEB访问了.不过这时候有具小缺点,那就是如果你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启动成功.

至此,如果要 重启gogs最好是/etc/init.d/supervisor restart ,如果不正常就再重启一下apache...

OK,问题全部解决

 




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: gogs, apache

« 上一篇 | 下一篇 »

只显示10条记录相关文章

超详细:在Mac OS X中配置Apache + PHP + MySQL (浏览: 26395, 评论: 1)
a2enmod简介 (浏览: 24520, 评论: 0)
PHP开源Apache日志分析工具收集与比较 (浏览: 16758, 评论: 0)
apache rewrite 详解 (浏览: 15874, 评论: 0)
后缀名检测有漏洞,Apache上传不安全 (浏览: 15068, 评论: 0)
[精][转]Apache多虚拟主机的简单配置 (浏览: 14341, 评论: 1)
Windwos 下配置多个Apache服务站点 (浏览: 13094, 评论: 0)
使用Apache做负载均衡 (浏览: 12994, 评论: 0)
yii:Apache and Nginx configurations (浏览: 12372, 评论: 0)
备份:不使用ssh_config实现git指定私钥 (浏览: 12244, 评论: 0)

发表评论

评论内容 (必填):