目标描述
最近使用gitblit,但是全是ip地址访问,不是很方便,还会暴露服务器的ip地址,在网上找了一些,可以使用 nginx 做反向代理,实现使用域名访问gitblit的目标。
前期准备
在配置之前,需要如下准备:
- 云端服务器 ,我使用的是阿里云的服务器;
- 申请域名 ,在阿里云可以申请,并绑定服务器,以上不是本篇讨论重点,不详细说明;
- 安装并配置 nginx ,网上很多教程,也不详细说明了;
- 安装 gitblit ;
- 配置 gitblit参数;
- 配置 nginx参数;
- 启动 gitblit ,使用域名访问。
具体配置
-
下载安装包: http://dl.bintray.com/gitblit/releases/gitblit-1.8.0.tar.gz;
-
上传到服务器上,我一般使用目录/usr/local/gitblit;
-
解压:tar -xvf gitblit-1.8.0.tar.gz,会在当前目录新建一个同名文件夹;
-
修改gitblit配置文件:使用vim或者其他方式修改data目录下的如下参数,我使用的是http:
- server.httpPort = 【你的端口号】,程序端口号,不要设置特殊的就行;
- server.httpsPort = 0,设为0,不使用https;
- 到此,应该就可以通过你的公网ip:端口号访问gitblit了,启动gitblit,在gitblit解压的目录有gitblit.jar,后台运行即可,初始的用户名和密码全是admin,建议修改默认密码;
- server.httpBindInterface = 127.0.0.1,设为本地ip,等会与nginx配合,后来发现不设置这个也可以呢;
-
修改nginx配置文件:使用vim或者其他方式修改/usr/local/nginx/conf/nginx.conf,具体修改如下,需要根据你的具体情况修改【】中的内容:
server { listen 80; server_name 127.0.0.1; root /usr/local/nginx; index index.php index.html; #charset koi8-r; #access_log logs/host.access.log main; location /gitblit/ { proxy_pass http://127.0.0.1:【你的端口号】/; } location / { root html; index index.html; }
-
保存配置,重启nginx,就可以通过:域名/gitblit/进行访问了,至此完成!
-
运行时发现在访问项目目录的时候,网页样式出错,百度一番发现将第4步的配置文件中的web.forwardSlashCharacter改为!即可,原文链接: 私有化Gitblit Nginx配置后无法载入版本库的解决方法;