20200615记录本次安装VVVVVV 遇到的问题

Jun 15, 2020

gitlab-ci frontend 打包 出错

原因是frontend 安装: npm install --production 仅安装了dependence 库,需要去掉 –production

本地打包没问题,gitlab-ci 出现该情况,基本能断定就是安装库缺少打包库的问题

记录本次安装VVVVVV 遇到的问题

使用 Nginx + acme.sh 制作证书

首先cloudflare 取消橘色云朵,采用直连方式(这样letsencrypt 才能请求过来)

Nginx 采用原生模块(不要使用docker 的nginx,有各种坑点,下面会描述此次遇到的坑)

Nginx 遇到坑,安装参考了:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 设置系统时间为上海时间
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock
# 添加源
sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
# 展开源
sudo yum repolist
sudo yum install nginx
sudo systemctl enable nginx
sudo systemctl start nginx
# 打开防火墙端口
# 默认 CentOS7 使用的防火墙 firewalld 是关闭 http 服务的(打开 80 端口)
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
# 查看防火墙打开的所有服务
sudo firewall-cmd --list-service # ssh dhcpv6-client http
# 需要指出的是 CentOS 7 的 SELinux,使用反向代理需要打开网络访问权限
sudo setsebool -P httpd_can_network_connect on
1
2
3
4
5
6
conf.d/VVVVVV.conf
server {
listen 80;
server_name wpn.example.com;
root /home/wwwroot/sCalc;
}
1
2
3
4
5
6
7
8
ssl.sh
alias acme.sh=/.acme.sh/acme.sh
# 链接letsencrypted 识别域名和生成证书
acme.sh --issue -d wpn.example.com -w /home/wwwroot/sCalc --nginx
# 生成nginx 使用的key 和crt
acme.sh --install-cert -d wpn.example.com --key-file /VVVVVV.key --fullchain-file /VVVVVV.crt
# 拷贝目标文件
cp /VVVVVV* /etc/VVVVVV/

此时 systemctl restart VVVVVV, 在点击cloudflare 橙云代理CDN 即可正确链接了。

复盘遇到的问题

上周搞的时候用的docker-nginx,当时用的ipv6,然后一直报404 letsencrypt 链接不进来,于是上周将服务器重新建立了。

这周还是遇到这个问题,于是想了好久,哦,原来nginx 的容器,我只映射了本地的conf.d 目录,没有把 /home/wwwroot/sCalc 目录映射进去(-v /home/wwwroot/sCalc:/home/wwwroot/sCalc, 替换进去后,又发现没有把 /etc/VVVVVV/.crt .key 映射进去),难怪一直404.

docker-nginx一直没有使用这个版本,一时没想过来。