华为云服务器初探二(完结)
在上一篇《華為云服務(wù)器初探》 中介紹了在使用華為云服務(wù)器部署時(shí)的一些關(guān)鍵點(diǎn),本篇繼續(xù),內(nèi)容涉及如下:
中間件的部署問題解決
NAT 網(wǎng)關(guān)使用
數(shù)據(jù)庫服務(wù)的訪問
dotNET Core 程序的構(gòu)建
Redis
首先更正上一篇中的一個(gè)錯(cuò)誤,在運(yùn)行參數(shù)中進(jìn)行密碼設(shè)置,是不能生效的,而且還會(huì)導(dǎo)致配置文件加載出錯(cuò):
在日志中可以看到下面的錯(cuò)誤:
**?FATAL?CONFIG?FILE?ERROR?(Redis?6.2.6)?***Bad?directive?or?wrong?number?of?arguments>>>?'requirepass=123456’如果想要給 Redis 設(shè)置密碼,只需要修改 Redis 的配置文件即可,將 requirepass 的注釋放開:
都設(shè)置好了,Redis 的工作負(fù)載運(yùn)行狀態(tài)是正常的,但使用客戶端工具連接時(shí)不能正常連接,繼續(xù)查看日志發(fā)現(xiàn):
Warning:?Could?not?create?server?TCP?listening?socket?::1:6379:?bind:?Cannot?assign?requested?address看似是個(gè)警告,但其實(shí)是個(gè)錯(cuò)誤,意思是地址不能分配,肯定就訪問不了。修改 Redis 的配置文件:
注釋掉 bind 所在行
protected-moe 由 yes 修改為 no
RabbitMQ
默認(rèn)情況下,RabbitMQ 的 UI 插件是沒有自動(dòng)開啟的,所以在安裝了 RabbitMQ 之后,需要進(jìn)入容器進(jìn)行開啟:
docker?exec?-it??mq容器id?bash rabbitmq-plugins?enable?rabbitmq_management出現(xiàn)下圖,說明開啟成功:
現(xiàn)在的問題是如果 RabbitMQ 的配置升級(jí)重新構(gòu)建后,需要重新進(jìn)入容器進(jìn)行開啟。
NAT 網(wǎng)關(guān)
一開始,將彈性公網(wǎng) IP 直接綁定在 ECS 服務(wù)器上,可以滿足 CCE 中對外發(fā)布應(yīng)用,本地 SSH 也能連接到服務(wù)器,但是公網(wǎng) IP 只能綁定到一個(gè)地方,華為云的 GaussDB(for MySQL) 想要在本地用客戶端工具連接,一種方式就是綁定公網(wǎng) IP 。但公網(wǎng) IP 已經(jīng)被 ECS 服務(wù)器占用了,所以如果想要多個(gè)不同的應(yīng)用同時(shí)提供服務(wù),就需要使用 NAT 網(wǎng)關(guān)了。
1、首先在彈性公網(wǎng) IP 的列表界面中進(jìn)行解綁;
2、在 NAT 網(wǎng)關(guān)中添加 SNAT 規(guī)則,規(guī)則中綁定公網(wǎng) IP:
3、添加 DNAT 規(guī)則,將數(shù)據(jù)庫映射到外網(wǎng)訪問:
4、這樣數(shù)據(jù)庫就既能內(nèi)網(wǎng)訪問也能外網(wǎng)訪問了,如果想要遠(yuǎn)程連接服務(wù)器,也是同樣的設(shè)置,添加 DNAT 規(guī)則,將自定義的端口映射到某臺(tái) ECS 服務(wù)器的 22 端口即可;
5、將公網(wǎng) IP 和 ECS 服務(wù)器解綁后,CCE 中的工作負(fù)載便不能進(jìn)行訪問了,外部訪問地址一列也被清空,需要重新在訪問方式中添加 Service,訪問類型選擇 DNAT 網(wǎng)關(guān):
dotNET Core 程序的構(gòu)建
因?yàn)橘徺I的是鯤鵬服務(wù)器,需要在鯤鵬服務(wù)器上進(jìn)行基礎(chǔ)鏡像的構(gòu)建,然后程序構(gòu)建時(shí)依賴構(gòu)建好的基礎(chǔ)鏡像,具體步驟如下:
1、在任意的 ECS 服務(wù)器的根目錄創(chuàng)建目錄 core3.1_images_build ,里面添加 Dockerfile 文件和常用字體文件,Dockerfile 內(nèi)容如下:
FROM?mcr.microsoft.com/dotnet/core/aspnet:3.1RUN?apt-get?update; RUN?apt-get?install?libfontconfig1?-yCOPY?.?/app COPY?simhei.ttf?/usr/share/fonts/ COPY?simsunb.ttf?/usr/share/fonts/ COPY?simsun.ttc?/usr/share/fonts/ COPY?BSONGSJ.TTF?/usr/share/fonts/ COPY?cybsongsj.ttf?/usr/share/fonts/ COPY?hyktjn.ttf?/usr/share/fonts/COPY?./font/WINGDNG3.TTF?/usr/share/fonts/ COPY?./font/WINGDNG2.TTF?/usr/share/fonts/ COPY?./font/BSSYM7.TTF?/usr/share/fonts/ COPY?./font/symbol.ttf?/usr/share/fonts/ COPY?./font/wingding.ttf?/usr/share/fonts/ COPY?./font/webdings.ttf?/usr/share/fonts/ COPY?./font/segmdl2.ttf?/usr/share/fonts/WORKDIR?/appEXPOSE?80/tcp2、構(gòu)建鏡像并推送到華為云的私有鏡像倉庫;
3、創(chuàng)建名為 test 的 dotNET Core 示例程序,程序根目錄中添加 Dockerfile 文件,內(nèi)容如下:
FROM?swr.cn-north-4.myhuaweicloud.com/xxxx/s2netcore3.1-runtime:latest COPY?.?/app WORKDIR?/app EXPOSE?5000/tcp ENTRYPOINT?["dotnet",?"test.dll"]4、華為云的編譯構(gòu)建中創(chuàng)建 netcore-test 的構(gòu)建任務(wù),基本信息中的主機(jī)類型選擇鯤鵬:
5、構(gòu)建步驟中添加兩個(gè)步驟:mono 和制作鏡像并推送到 SWR 倉庫:
6、制作鏡像并推送到 SWR 倉庫的配置如下:
7、創(chuàng)建無狀態(tài)工作負(fù)載,選擇構(gòu)建好的鏡像,運(yùn)行成功如下圖:
希望對您有所幫助!
總結(jié)
以上是生活随笔為你收集整理的华为云服务器初探二(完结)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Prism区域异常问题分析(导航失效?)
- 下一篇: 开源虎墩同名电影《小虎墩大英雄》定档大年