Eck*_*ers 7 ubuntu reverse-proxy nginx gitlab
我一直在遵循GitLab维基的说明,但似乎缺少一些关键信息.在"使用非捆绑Web服务器"一节中,它从未解释我如何重新配置我的Nginx安装以将代理转发到GitLab.
基本上,我想在git.example.com下安装GitLab,但我似乎无法找到现有Nginx安装的配置设置.维基页面继续谈论配置现有的Passenger/Nginx安装,但我没有Passenger,所以我认为这不适用于我的情况.
我想最简单的解决方案是,如果有办法告诉Gitlab使用它的内置Nginx并只是在内部端口上侦听,然后将我的其他Nginx转发到该端口,但我似乎无法弄清楚如何配置Gitlab来处理它.
任何帮助将不胜感激.
小智 11
根据@cyberchis的回答,我简化了这个过程,并且我已经完成了两次相同的设置。我希望它也适合你。
检查nginx的用户
1.1. 使用.打开nginx.confnano /etc/nginx/nginx.conf
1.2. 检查第 1 个。行user www-data;,这里的用户是www-data。
编辑gitlab的external_url
2.1. 使用.打开gitlab.rbnano /etc/gitlab/gitlab.rb
2.2. 将该行编辑external_url 'GENERATED_EXTERNAL_URL' 为external_url 'http://gitlab.yourdomain.com'.
2.3. 取消注释并将该行更改nginx['enable'] = true为nginx['enable'] = false.
2.4. 取消注释并将该行更改web_server['external_users'] = []为web_server['external_users'] = ['www-data'].
添加gitlab的配置文件
3.1. 从gitlab 存储库下载gitlab-omnibus-nginx.conf。
3.2. 进入该文件所在目录,将该文件复制到nginx中,扩展名为cp /directory-to-this-file/gitlab-omnibus-nginx.conf /etc/nginx/sites-enabled.
3.3. 使用 . 打开此文件nano /etc/nginx/sites-enabled/gitlab-omnibus-nginx.conf。
3.4. 将此行更改listen 0.0.0.0:80 default_server;为listen 0.0.0.0:7001;// gitlab 在端口 7001 上运行
3.5. 将此行更改listen [::]:80 default_server;为listen [::]:7001;// gitlab 在端口 7001 上运行
3.6. 将此行更改server_name YOURSERVER_FQDN为server_name www.yourdomain.com.
配置nginx
4.1. 使用.打开nginx.confnano /etc/nginx/nginx.conf
4.2. 添加此配置
http {
...
server {
listen 80;
server_name gitlab.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:7001;
}
}
}
Run Code Online (Sandbox Code Playgroud)
重新配置gitlab并重新加载nginx
5.1.sudo gitlab-ctl reconfigure
5.2.sudo systemctl reload nginx
配置防火墙导出7001端口(可选)
由于 gitlab 运行在我的本地服务器上,因此必须允许从外部访问端口 7001。启用它的最简单方法是运行ufw allow 7001.
现在 gitlab 在您应该访问的子域gitlab.yourdomain.com上运行。
我搞定了!太疯狂了!
正如我所说,我试图遵循这些说明,但我没有得到任何地方,因为它似乎缺乏如何将现有的Nginx安装链接到Gitlab的说明.
那么,在页面的下方,他们对使用现有Passenger/Nginx安装有了更完整的解释,虽然起初看起来并不像我想要的那样,研究Passenger有点明确表示它不是Ruby - 只是它们(他们很容易找到的安装说明要求你将它安装为ruby gem)并且他们的Ubuntu安装说明允许我合理地将它集成到我现有的Nginx中.
从那里开始,它只是遵循维基中的步骤,尽管有一些变化.
www-data到web_server['external_users']该行中的gitlab.rb文件./var/log/gitlab/nginx/gitlab_access.log不存在,这在Nginx尝试启动时导致错误,只是创建该空白文件并使其正确读/写访问使它像魅力一样工作.我现在非常兴奋,希望任何具有特定问题的人都会遇到这个问题,Wiki应该真正更新以简单地删除/合并这两个部分并解释/链接到如何将Passenger安装到现有的Nginx中安装.会给我带来很多困惑和浪费时间.
在Ubuntu上运行现有的Nginx服务器
| 归档时间: |
|
| 查看次数: |
8217 次 |
| 最近记录: |