linux gogs环境设置

1. swap设置

1.1. 添加swap文件

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

1.2. 创建swap文件

sudo mkswap /swapfile

1.3. 激活swap文件

sudo swapon /swapfile

1.4. 查看swap信息

sudo swapon -s

1.5. 添加到fstab文件中让系统引导时自动启动

sudo cat /etc/fstab
sudo sed -i '/\/swapfile swap swap defaults 0 0/d' /etc/fstab
sudo sh -c 'echo "/swapfile swap swap defaults 0 0" >> /etc/fstab'
sudo cat /etc/fstab

1.6. 检查交换分区是否生效

free -m
grep SwapTotal /proc/meminfo

1.7. 释放swap文件

swapoff /swapfile

1.8. 删除swap文件

rm -rf /swapfile

2. dns设置

vim /etc/resolv.conf

3. rinetd & ss设置

vim /usr/local/etc/rinetd.conf
killall -9 ss-server
killall -9 rinetd
nohup rinetd -c /usr/local/etc/rinetd.conf &
nohup ss-server -s 0.0.0.0 -p port -k password -u -m chacha20-ietf &

4. 设置自启动

chmod 777 /etc/rc.d/rc.local
vim /etc/rc.d/rc.local

5. 新建root类型账户

useradd username passwd username usermod -u 0 -o username

6. 安装X Window

yum groupinstall "GNOME Desktop"
yum groupinstall "X Window System"

7. 安装golang

yum install golang.x86_64

8. 安装gogs

# 配置文档说明 https://gogs.io/docs/advanced/configuration_cheat_sheet

useradd git
passwd git
chown -R git:git /home/git/gogs
cd /home/git

wget https://dl.gogs.io/0.11.53/gogs_0.11.53_linux_amd64.tar.gz
tar -xvzf gogs_0.11.53_linux_amd64.tar.gz

su

cp /home/git/gogs/scripts/systemd/gogs.service /usr/lib/systemd/system/

cd /home/git/gogs

mysql -u root -p < scripts/mysql.sql

vim custom/conf/app.ini

[repository.upload]
FILE_MAX_SIZE    = 512
MAX_FILES        = 1024

ssh-keygen -t rsa -f id_rsa
./gogs cert -ca=true -duration=8760h0m0s -host=myhost.example.com

mkdir -p /etc/nginx/path/to
cp cert.pem key.pem /etc/nginx/path/to

systemctl disable gogs
systemctl enable gogs
systemctl start gogs

./gogs backup
./gogs restore

9. 安装nginx

yum install nginx.x86_64 vim /etc/nginx/nginx.conf

server { listen 443 ssl; server_name myhost.example.com; ssl_certificate path/to/cert.pem; ssl_certificate_key path/to/key.pem;

location / {
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_pass http://localhost:3000$request_uri;
} } server {
listen 80;
server_name myhost.example.com;
return 301 https://$host$request_uri; }

systemctl enable nginx systemctl start nginx

set lua = 521172152fee0b1d37bcd2869979718df1ecc5e0 set timer = dfc702952a1afa2118acdb8bc195689bddbb6c76 set ci = 66b377adfb5e2f66f471a31c498eaca44bfcd3b9

set lua = 76590d751519d216262c6f13969d45dcd4bfdafc set timer = 2c4d319b0517c205706eb4e2aa571d48300a0298 set ci = dfa4d5093b60338a7599d1ee4b20d57bf5c95a9e

set project = a5cf55a666160243a990c88685fd4006d535d1e6

10. gogs配置文件

gogs/custom/conf/app.ini

1. 上传文件配置

[repository.upload] FILE_MAX_SIZE = 512 MAX_FILES = 10240

2. 超时处理配置

[git.timeout] MIGRATE = 600 MIRROR = 600 CLONE = 3000 PULL = 3000 GC = 60