搭建gogs遇到的坑

1.无法连接ssh,显示connection refuse。

    原因是“custom/conf/app.ini”没有开启ssh功能,改为以下配置就行了

START_SSH_SERVER = true

2.配置了ssh后,gogs无法启动,错误信息是:Fail to start SSH server: listen tcp 0.0.0.0:22: bind: permission denied
       这个错误是用于服务器使用了端口22,所以要更改服务器gogs的端口号,

SSH_PORT         = 1111

3.使用ssh提示没有权限

     这是由于没有添加公共钥的原因,按下面方法添加即可

在本机生成公钥

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
拷贝公钥里面的内容   cat /home/user/.ssh/id_rsa.pub,在gogs的用户设置里面的“SSH 密钥”栏目就可以添加了。

git config --global user.name "Your Name"
git config --global user.email "email@example.com"


4.gogs无法开机启动

按照常规的方式添加脚本到 “/etc/init.d/”下竟然没有开机启动。在网上发现其他方式可以实现,主要是修改"/etc/rc.local"文件,在最后一行添加以下内容

/bin/su - git -c "/usr/bin/nohup /home/soft/gogs/gogs web"

5.在使用gogs的时候遇到各种各样的奇怪问题不知道怎样入手

gogs是有日志系统,通过查看日志文件就能知道哪里出错了,日志的路径在/gogs/log/,动态查看日志使用下面的命令很方便

tail -F /gogs/log/serv.log

tail -F /gogs/log/gogs.log

6.gogs默认使用本地配置,但是在vps上不知道怎样配置。

      使用vpn使服务器和本地处于同一网段,再利用: “http://0.0.0.0:3000” ,进行配置。


7.如何通过公网ip访问搭建在vps上的gogs

       只需要配置“custom/conf/app.ini”文件“ROOT_URL“

ROOT_URL         = http://vps的ip地址/

8.如何通过域名访问gogs网站

需要利用nginx反向代理就可以实现,简单来说是通过访问vps的网址会指向nginx,而nginx又将访问间接指向gogs。

通过配置nginx的配置文件可以实现“/usr/local/nginx/conf/nginx.conf”,修改如下:

        location / {
                proxy_pass http://127.0.0.1:3000/;
                proxy_redirect default;
           }
 

9.centos上面没有安装nginx,通过命令也无法安装(解决不了依赖关系)

      最好的方法是通过yum install来安装nginx,但是安装不了只能自己编译nginx了。编译方式如下:

yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

wget https://nginx.org/download/nginx-1.12.2.tar.gz
tar -zxvf https://nginx.org/download/nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure
make
make install
最后在"/etc/rc.local/"添加开机启动项

/usr/local/nginx/sbin/nginx


10.无法使用git clone,提示代码仓库不存在,可是在vps上面是看到这个仓库的

      反复修改配置文件,利用log跟踪问题所在,但是问题一直解决不了。最后通过删除gogs,重新解压一个就解决问题了。


参考资料:

CentOS 7 下安装 Nginx

使用 gogs 搭建私人 git 服务器 | nginx 添加反向代理到二级域名


### 将十六进制颜色值转换为RGB格式的方法 在JavaScript中,可以通过简单的计算将十六进制颜色值转换为RGB格式。以下是具体的实现方法: #### 实现逻辑 1. **去掉前缀**:如果十六进制颜色值带有`#`号,则需要先移除它。 2. **分组处理**:将剩余的字符串按每两位一组分割,分别表示红(R)、绿(G)、蓝(B)三个通道的颜色值。 3. **转换为十进制**:利用 `parseInt()` 函数将每一位的十六进制数值转换成对应的十进制整数。 #### 示例代码 以下是一个完整的函数示例,用于完成上述功能: ```javascript function hexToRgb(hexColor) { // 移除可能存在的 '#' 号 let color = hexColor.replace(/^#/, ''); // 检查长度并补全短形式 (#fff -> #ffffff) if (color.length === 3) { color = color.split('').map(char => char + char).join(''); } // 提取 R/G/B 的值并转化为十进制 const r = parseInt(color.substring(0, 2), 16); const g = parseInt(color.substring(2, 4), 16); const b = parseInt(color.substring(4, 6), 16); return { r, g, b }; } // 测试案例 const result = hexToRgb("#ff8040"); console.log(`RGB颜色值为: ${result.r}, ${result.g}, ${result.b}`); // 输出: RGB颜色值为: 255, 128, 64 ``` 此代码实现了从十六进制到RGB的转换,并支持常见的三种情况: - 完整六位十六进制颜色值(如`#ff8040`) - 缩写三位十六进制颜色值(如`#f84`),会自动扩展为六位[^3]。 --- ### 注意事项 - 输入验证:对于非法输入(如非十六进制字符或错误长度),应考虑增加额外校验逻辑以提高健壮性[^2]。 - 大小写敏感度:通常情况下,十六进制颜色值中的字母部分忽略大小写差异,因此无需特别区分大写与小写的处理方式[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值