环境:centos7、postgresql10.6、gitea 1.11
官方文档:https://docs.gitea.io/zh-cn/command-line/
首先在服务器上配置go基础环境。这里再回顾一下centos下配置go开发环境。
源码编译安装golang
简单点上傻瓜代码流
wget https://studygolang.com/dl/golang/go1.13.4.linux-amd64.tar.gz
tar -xvf go1.13.4.linux-amd64.tar.gz -C /usr/local/
vi /etc/profile
export GOROOT=/usr/local/go
export GOPATH=/root/gopath
export PATH=$PATH:$GOROOT/bin
source /etc/profile
yum install -y git
adduser git
下载gitea源码
go get -d -u code.gitea.io/gitea
cd $GOPATH/src/code.gitea.io/gitea
选择稳定的版本(源码包路径下)
git branch -a // 列出版本
git checkout 版本名
编译(源码包路径下)
TAGS="bindata" make generate build
go build
启动测试(源码包路径下)
./gitea web
浏览器输入IP:3000
1574918124(1).png
在有特殊需求的情况下可以二次开发,具体方法在参照官方源码。
接下来看看使用nginx代理,配置ssl证书,达到https要求。
鉴于很多情况下是在测试,没有实际上的证书,所以自己造一个。
造证书:
放在nginx/conf/ssl目录
1.创建服务器证书密钥文件 server.key:
openssl genrsa -des3 -out server.key 1024
输入密码,确认密码,自己随便定义,但是要记住,后面会用到。
2.创建服务器证书的申请文件 server.csr
openssl req -new -key server.key -out server.csr
输出内容为:
Enter pass phrase for root.key: ← 输入前面创建的密码
Country Name (2 letter code) [AU]:CN ← 国家代号,中国输入CN
State or Province Name (full name) [Some-State]:BeiJing ← 省的全名,拼音
Locality Name (eg, city) []:BeiJing ← 市的全名,拼音
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名
Organizational Unit Name (eg, section) []: ← 可以不输入
Common Name (eg, YOUR name) []: ← 此时不输入
Email Address []:admin@mycompany.com ← 电子邮箱,可随意填
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: ← 可以不输入
An optional company name []: ← 可以不输入
4.备份一份服务器密钥文件
cp server.key server.key.org
5.去除文件口令
openssl rsa -in server.key.org -out server.key
6.生成证书文件server.crt
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
安装nginx(这里就不说步骤,网上很多https://www.cnblogs.com/ghjbk/p/6744131.html
)
nginx -t 检查nignx.conf配置文件的语法
nginx -s stop
nginx -s reload 重启
nginx 启动
修改nginx.conf(建议cp)
[root@gitea ~]# cat /usr/local/nginx/conf/nginx.conf
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server{
listen 80;
server_name inofagit.com;
rewrite ^ https://inofagit.com/$request_uri? permanent;
}
server {
listen 443 ssl;
#ssl on;
server_name inofagit.com;
#证书(公钥.发送到客户端的)
ssl_certificate ssl/server.crt;
ssl_certificate_key ssl/server.key;
#ssl_session_timeout 5m;
#ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#ssl_prefer_server_ciphers on;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_pass http://localhost:3000;
}
}
}
[root@gitea ~]#
修改配置文件要重载nginx -s reload
本地测试的话为了达到更好的效果,需要配置hosts文件,将server name 配置上。
添加一行内容到末尾。
192.168.122.162 inofagit.com
外传:
Nginx 系列 - 用 GoAccess 实现可视化并实时监控 access 日志
可以监控到网站的访问请求
可参考:https://www.codercto.com/a/73999.html
效果如下
image.png
网友评论