服务器重新部署踩坑记Intro之前的服务器是 Ubuntu 18.04 ,上周周末想升级一下服务器系统,从 18.04 升级到 20.04,结果升级升挂了... 虚拟机配置Azure 上的服务器默认新建的时候需要配置网络安全组(NSG),这次新建之后想着使用之前的网络安全组配置,这样就不需要再配置一下端口白名单了,结果这样部署了之后,SSH 经常超时,但是从内网走的话会很快,没有问题,使用 Azure Cloud Shell SSH 没有超时的问题,从另外一个服务器上 SSH 也是正常的。 新建的时候可以指定服务器要开放的端口,一般 22,80,443 先打开,SSH以及 web server 的端口先开放 服务器新建完成后,修改 IP 地址,默认是动态 IP,修改为静态 IP,这样可以方便做 DNS 解析 新建的服务器和之前的 IP 不一致,需要修改域名解析,将原来的域名解析配置修改为新的服务器的 IP 有几个应用使用的是云数据库,需要修改数据库服务器防火墙,把原来服务器的 IP 修改为新的服务器 IP 地址 Nginx 配置使用 执行 安装之后默认的配置是 修改默认的 nginx 配置,将默认站点转发到后端服务中,修改 location 配置,添加
添加了之后发现服务转发有问题,后来终于在网上找了解决方案,原来默认 nginx 不能进行 Http 的转发,要转发需要配置一下 selinux 的一个配置 可以参考:https:///questions/27435655/proxy-pass-isnt-working-when-selinux-is-enabled-why 后来在配置 HTTPS 的时候读取证书文件的时候出现了 Permission Denied 的情况,后来排查下来也是 SELinux 的问题,关掉 SELinux 之后就可以了,后来在网上看了看,很多人推荐直接关掉 SELinux,于是就索性直接把 SELinux 给关掉了。 HTTPS 配置HTTPS 证书使用的是免费的 Let's Encrypt 的证书,使用 进行配置,安装好 ,配置好 DNS 的 Access Key 执行一行命令就可以了,而且还会生成一个 crontab 定时任务定期会更新证书(Let's Encrypt 免费证书默认 90 天内有效) 通过执行 安装成功之后配置 DNS 的配置,我的域名在阿里云上,从阿里云生成 AccessKey 来更新域名配置,会添加或更新一个 我的域名在阿里云上,就以阿里云为例子,将下面的 Key 和 Secret 替换成自己实际的 Key 和 Secret
申请泛域名证书,泛域名证书需要指定两个 domain,如下面的示例:
执行之后会看到类似下面这样的截图: Nginx 配置:
SELinux 配置SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。但是配置起来很是繁琐,很容易因为这个导致很多问题,浪费很多时间,所以还是直接关掉好了。 SELinux 有三种状态,分别是:
通过 如果要临时修改 selinux 的状态可以通过命令 如果要永久性的修改 selinux 状态需要修改配置文件 Docker 配置参考 docker 官方文档或者参考 Centos 安装 docker 需要注意的是,你可能会需要配置 docker group,把需要的用户配置到 docker 这个用户组里以免每次 K8S 配置自己玩 k8s 的话推荐使用 kind 部署 k8s,我自己就是在使用 kind 部署 k8s,具体的安装步骤可以参考之前的文章介绍 https://www.cnblogs.com/weihanli/p/12831225.html 之前的 kind 都会有一个问题,每次系统重启或 docker daemon 重启的时候会导致原来的创建的集群不可用,需要重新创建才可以,从 0.8 版本开始,kind 不再需要重新创建集群了,基于这个集群的资源部署也会自动重启,无需再手动重新部署了,非常方便了 SSR 配置SSR 的配置在 Github 上找了一个基于 docker 部署的,可以参考 https://github.com/winterssy/SSR-Docker 开启 BBR首先可以执行
执行之后再执行 安装 docker-compose如果没有安装 docker-compose 可以执行下面的命令来进行安装
配置可以将项目 clone 到服务器上,如果没有安装 Git,可以 克隆到本地之后可以根据自己需要修改
可以根据需要修改 docker-compose 映射到本地的端口 配置好之后执行 More还有一些配置,脚本需要准备一下来部署服务,索性大多数的服务我都是有 k8s deploy yaml 的,只是有些 configMap 里的数据要更新一下。 如果出现了什么意外情况或者要重新部署 k8s 只要执行一下这个脚本即可~ 其他服务的 Nginx 配置,需要新增服务配置的时候只要在
折腾的遇到最多的问题就是服务器 SSH 超时问题和 Nginx SELinux 的问题,以后再部署的时候服务器资源要完全新建,SELinux 要禁用 Reference |
|