服務器重新部署踩坑記Intro之前的服務器是 Ubuntu 18.04 ,上周周末想升級一下服務器系統(tǒng),從 18.04 升級到 20.04,結(jié)果升級升掛了... 虛擬機配置Azure 上的服務器默認新建的時候需要配置網(wǎng)絡安全組(NSG),這次新建之后想著使用之前的網(wǎng)絡安全組配置,這樣就不需要再配置一下端口白名單了,結(jié)果這樣部署了之后,SSH 經(jīng)常超時,但是從內(nèi)網(wǎng)走的話會很快,沒有問題,使用 Azure Cloud Shell SSH 沒有超時的問題,從另外一個服務器上 SSH 也是正常的。 新建的時候可以指定服務器要開放的端口,一般 22,80,443 先打開,SSH以及 web server 的端口先開放 服務器新建完成后,修改 IP 地址,默認是動態(tài) IP,修改為靜態(tài) IP,這樣可以方便做 DNS 解析 新建的服務器和之前的 IP 不一致,需要修改域名解析,將原來的域名解析配置修改為新的服務器的 IP 有幾個應用使用的是云數(shù)據(jù)庫,需要修改數(shù)據(jù)庫服務器防火墻,把原來服務器的 IP 修改為新的服務器 IP 地址 Nginx 配置使用 執(zhí)行 安裝之后默認的配置是 修改默認的 nginx 配置,將默認站點轉(zhuǎn)發(fā)到后端服務中,修改 location 配置,添加
添加了之后發(fā)現(xiàn)服務轉(zhuǎn)發(fā)有問題,后來終于在網(wǎng)上找了解決方案,原來默認 nginx 不能進行 Http 的轉(zhuǎn)發(fā),要轉(zhuǎn)發(fā)需要配置一下 selinux 的一個配置 可以參考:https:///questions/27435655/proxy-pass-isnt-working-when-selinux-is-enabled-why 后來在配置 HTTPS 的時候讀取證書文件的時候出現(xiàn)了 Permission Denied 的情況,后來排查下來也是 SELinux 的問題,關掉 SELinux 之后就可以了,后來在網(wǎng)上看了看,很多人推薦直接關掉 SELinux,于是就索性直接把 SELinux 給關掉了。 HTTPS 配置HTTPS 證書使用的是免費的 Let's Encrypt 的證書,使用 進行配置,安裝好 ,配置好 DNS 的 Access Key 執(zhí)行一行命令就可以了,而且還會生成一個 crontab 定時任務定期會更新證書(Let's Encrypt 免費證書默認 90 天內(nèi)有效) 通過執(zhí)行 安裝成功之后配置 DNS 的配置,我的域名在阿里云上,從阿里云生成 AccessKey 來更新域名配置,會添加或更新一個 我的域名在阿里云上,就以阿里云為例子,將下面的 Key 和 Secret 替換成自己實際的 Key 和 Secret
申請泛域名證書,泛域名證書需要指定兩個 domain,如下面的示例:
執(zhí)行之后會看到類似下面這樣的截圖: Nginx 配置:
SELinux 配置SELinux(Security-Enhanced Linux) 是美國國家安全局(NSA)對于強制訪問控制的實現(xiàn),是 Linux歷史上最杰出的新安全子系統(tǒng)。但是配置起來很是繁瑣,很容易因為這個導致很多問題,浪費很多時間,所以還是直接關掉好了。 SELinux 有三種狀態(tài),分別是:
通過 如果要臨時修改 selinux 的狀態(tài)可以通過命令 如果要永久性的修改 selinux 狀態(tài)需要修改配置文件 Docker 配置參考 docker 官方文檔或者參考 Centos 安裝 docker 需要注意的是,你可能會需要配置 docker group,把需要的用戶配置到 docker 這個用戶組里以免每次 K8S 配置自己玩 k8s 的話推薦使用 kind 部署 k8s,我自己就是在使用 kind 部署 k8s,具體的安裝步驟可以參考之前的文章介紹 https://www.cnblogs.com/weihanli/p/12831225.html 之前的 kind 都會有一個問題,每次系統(tǒng)重啟或 docker daemon 重啟的時候會導致原來的創(chuàng)建的集群不可用,需要重新創(chuàng)建才可以,從 0.8 版本開始,kind 不再需要重新創(chuàng)建集群了,基于這個集群的資源部署也會自動重啟,無需再手動重新部署了,非常方便了 SSR 配置SSR 的配置在 Github 上找了一個基于 docker 部署的,可以參考 https://github.com/winterssy/SSR-Docker 開啟 BBR首先可以執(zhí)行
執(zhí)行之后再執(zhí)行 安裝 docker-compose如果沒有安裝 docker-compose 可以執(zhí)行下面的命令來進行安裝
配置可以將項目 clone 到服務器上,如果沒有安裝 Git,可以 克隆到本地之后可以根據(jù)自己需要修改
可以根據(jù)需要修改 docker-compose 映射到本地的端口 配置好之后執(zhí)行 More還有一些配置,腳本需要準備一下來部署服務,索性大多數(shù)的服務我都是有 k8s deploy yaml 的,只是有些 configMap 里的數(shù)據(jù)要更新一下。 如果出現(xiàn)了什么意外情況或者要重新部署 k8s 只要執(zhí)行一下這個腳本即可~ 其他服務的 Nginx 配置,需要新增服務配置的時候只要在
折騰的遇到最多的問題就是服務器 SSH 超時問題和 Nginx SELinux 的問題,以后再部署的時候服務器資源要完全新建,SELinux 要禁用 Reference |
|