2022-03-24【項(xiàng)目部署 dotnet6.0 + centos8 + nginx1.14.1 + https】

一、后臺服務(wù)器部署(CentOs 8 & .net 6.0)

Ⅰ 安裝MySQL

1h1ttps:1//1blog.csdn.net/qq_36582604/article/details/80526287

[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

使用上面的命令就直接下載了安裝用的Yum Repository格仲,大概25KB的樣子烟零,然后就可以直接yum安裝了删壮。

[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

之后就開始安裝MySQL预明。

[root@localhost ~]# yum -y install mysql
[root@localhost ~]# yum -y install mysql-server

至此MySQL就安裝完成了柠逞,然后是對MySQL的一些設(shè)置套像。

2. MySQL數(shù)據(jù)庫設(shè)置

首先啟動MySQL

[root@localhost ~]# systemctl start  mysqld.service

查看MySQL運(yùn)行狀態(tài)衣撬,運(yùn)行狀態(tài)如圖:

[root@localhost ~]# systemctl status mysqld.service

此時(shí)MySQL已經(jīng)開始正常運(yùn)行乖订,不過要想進(jìn)入MySQL還得先找出此時(shí)root用戶的密碼,通過如下命令可以在日志文件中找出密碼:
這里的路徑可能有所不同具练,自己可以cd看一看乍构,只要找到mysqld.log即可】傅悖可能有初始密碼也可能沒有哥遮,如果沒有的話,后面的操作中輸入密碼時(shí)占键,直接回車即可昔善。

[root@localhost ~]# grep "password" /var/log/mysqld.log

如下命令進(jìn)入數(shù)據(jù)庫:

[root@localhost ~]# mysql -u root -p

輸入初始密碼(是上面圖片最后面的 no;e!5>>alfg),此時(shí)不能做任何事情畔乙,因?yàn)镸ySQL默認(rèn)必須修改密碼之后才能操作數(shù)據(jù)庫:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

其中‘new password’替換成你要設(shè)置的密碼君仆,注意:密碼設(shè)置必須要大小寫字母數(shù)字和特殊符號(,/';:等),不然不能配置成功。

3. 開啟mysql的遠(yuǎn)程訪問

執(zhí)行以下命令開啟遠(yuǎn)程訪問限制(注意:下面命令開啟的IP是 192.168.0.1,如要開啟所有的返咱,用%代替IP):

mysql> grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'password' with grant option;

此處钥庇,如果安裝的mysql版本大于8.0則改用下面語句。

mysql> create user root@'192.168.0.1' identified by 'password'; grant all privileges on *.* to root@'%' with grant option;

然后再輸入下面兩行命令

mysql> flush privileges; 
mysql> exit

4. 為firewalld添加開放端口

先查看防火墻狀態(tài)

[root@localhost ~]# systemctl status firewalld.service

如果未開啟咖摹,則

[root@localhost ~]# systemctl start firewalld.service

添加mysql端口3306和Tomcat端口8080

[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@localhost ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent

然后再重新載入

[root@localhost ~]# firewall-cmd --reload

均返回 success 即可评姨。

5. 驗(yàn)證

已完成,然后可用 navicat 等工具萤晴,直接創(chuàng)建連接嘗試吐句,成功則妥。

Ⅱ 安裝 Git

1h1ttps:1//www.cnblogs.com/huyong/p/14291812.html

1. 安裝git客戶端

執(zhí)行如下命令:

[root@localhost ~]# yum -y install git

2. 生成sshkey

這里的xx@xxx.com只是生成的sshkey的名稱店读,并不約束貨要求具體命名為某個(gè)郵箱嗦枢。

[root@localhost ~]# ssh-keygen -t rsa -C "xx@xxx.com"

按照提示,按三次回車屯断,即可生成sshkey文虏,如下圖所示:

[root@localhost ~]# cat ~/.ssh/id_rsa.pub

復(fù)制生成后的sshkey,配置到代碼倉庫的公鑰中殖演。

3. 配置 github 倉庫的公鑰

  • 接下來我們將學(xué)習(xí)如何在 github 代碼托管平臺下配置公鑰氧秘。
  • 科學(xué)上網(wǎng),進(jìn)入github趴久,點(diǎn)擊右上角頭像丸相,下拉中的Settings,點(diǎn)擊左側(cè) "SSH and GPG keys"朋鞍,再點(diǎn)擊中間列的 "New SSH key"已添,將剛剛生成的公鑰復(fù)制過去,確定即可滥酥。
  • 回到XShell界面,執(zhí)行下面命令畦幢,回車輸入yes再回車坎吻,出現(xiàn)類似于Hi xxx的字樣,則表示git公鑰配置成功了宇葱。
[root@localhost ~]# ssh -T git@github.com

Ⅲ 安裝 .NET Core SDK 與 運(yùn)行時(shí)

  • .NET運(yùn)行時(shí)是.NET程序運(yùn)行的先決條件瘦真,而SDK并不是必須的,但如果通過git方式進(jìn)行文件中轉(zhuǎn)的話黍瞧,就需要到在服務(wù)器端進(jìn)行編譯诸尽,所以SDK也需要安裝。
  • 在安裝 .NET 之前印颤,我們需要將 Microsoft 包簽名密鑰添加到受信任密鑰列表您机,并添加 Microsoft 包存儲庫。
  • 運(yùn)行如下命令,將 Microsoft 包簽名密鑰添加到受信任密鑰列表际看,并添加 Microsoft 包存儲庫咸产。
[root@localhost ~]# sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
  • 通過如下命令安裝SDK:
[root@localhost ~]# sudo yum install -y dotnet-sdk-6.0
  • .NET Core SDK 使你可以通過 .NET Core來 開發(fā)我們的應(yīng)用。
  • 安裝完成后仲闽,可以驗(yàn)證安裝脑溢。
[root@localhost ~]# dotnet --info
  • 通過如下命令安裝netcore運(yùn)行時(shí):
[root@localhost ~]# sudo yum install -y aspnetcore-runtime-6.0

Ⅳ 發(fā)布程序到服務(wù)器

  • 首先,將代碼推送到git倉庫中赖欣,復(fù)制SSH地址屑彻。如下圖所示:
  • 然后在服務(wù)器中,執(zhí)行克隆命令:
mkdir core60test
cd core60test
git clone git@gitee.com:******/core60test.git
  • 此時(shí)項(xiàng)目代碼已經(jīng)下載到服務(wù)器中顶吮,切換工作目錄到解決方案所在的目錄酱酬。
cd core60test
  • 然后執(zhí)行dotnet publish命令對程序進(jìn)行編譯發(fā)布。
dotnet publish -o /xxxx/publish
  • 執(zhí)行完畢后云矫,編譯發(fā)布后的文件將被保存在/xxxx/publish目錄中膳沽。
  • 將工作目錄切換到/xxxx/publish,執(zhí)行如下命令让禀,即可在后臺運(yùn)行在指定端口挑社。
nohup dotnet core60test.dll --urls="http://*:端口號" --environment=Delopment > /dev/null 2>&1 &

這里使用后臺進(jìn)程,關(guān)閉Xshell也不會關(guān)閉站點(diǎn)巡揍,在當(dāng)前進(jìn)程痛阻,停止站點(diǎn)直接使用Ctrl+c,否則需要找出進(jìn)程ID腮敌,然后KILL進(jìn)程阱当。

nohup:不掛起的意思
--environment=Delopment:運(yùn)行環(huán)境
/dev/null:/dev/null相當(dāng)于執(zhí)行了command 1 > /dev/null。執(zhí)行command產(chǎn)生了標(biāo)準(zhǔn)輸出stdout(用1表示)糜工,重定向到/dev/null的設(shè)備文件中弊添。/dev/null可以理解為/dev路徑下的空文件;該命令將command命令的標(biāo)準(zhǔn)輸出輸出到空文件中
2>&1:可以理解為執(zhí)行command產(chǎn)生的標(biāo)準(zhǔn)輸出重定向到文件中捌木,標(biāo)準(zhǔn)錯(cuò)誤也重定向到文件中油坝,期間只打開一次文件,&1的含義就可以理解為用標(biāo)準(zhǔn)輸出的引用刨裆,引用的就是重定向標(biāo)準(zhǔn)輸出產(chǎn)生打開的文件澈圈。

注意:后臺進(jìn)程雖然可以再Xshell關(guān)閉后還能運(yùn)行,但是當(dāng)系統(tǒng)關(guān)機(jī)重啟后帆啃,進(jìn)程就沒有了瞬女,這個(gè)時(shí)候還是需要手動啟動,所以下一篇文章將會介紹為dotnet創(chuàng)建守護(hù)進(jìn)程的方式來保證開機(jī)就能訪問站點(diǎn)

Ⅴ 驗(yàn)證

此處已經(jīng)完成第一段操作努潘,可以用postman去請求以測試诽偷。此處可能會因?yàn)榉?wù)器所屬平臺的安全組相關(guān)原因坤学,導(dǎo)致端口相關(guān)問題,之前也提過了渤刃。

二拥峦、Nginx 服務(wù)器部署(1.14.1)

1h1ttps:1//www.reibang.com/p/9b2dd37a5af9
最好是單獨(dú)一臺服務(wù)器,此處演示的是在另一臺服務(wù)器卖子。

Ⅰ 安裝 Nginx

[root@localhost ~]# sudo yum install nginx

安裝完成后略号,使用以下命令啟用并啟動Nginx服務(wù):

[root@localhost ~]# sudo systemctl enable nginx
[root@localhost ~]# sudo systemctl start nginx

要驗(yàn)證服務(wù)是否正在運(yùn)行,請檢查其狀態(tài):

[root@localhost ~]# sudo systemctl status nginx

Ⅱ 調(diào)整防火墻

  • FirewallD是Centos 8上的默認(rèn)防火墻解決方案洋闽。
  • 在安裝過程中玄柠,Nginx使用預(yù)定義的規(guī)則創(chuàng)建防火墻服務(wù)文件,以允許訪問HTTP(80)和HTTPS(443)端口诫舅。
  • 使用以下命令永久打開必要的端口:
[root@localhost ~]# systemctl start firewalld.service
[root@localhost ~]# sudo firewall-cmd --permanent --zone=public --add-service=http
[root@localhost ~]# sudo firewall-cmd --permanent --zone=public --add-service=https
[root@localhost ~]# sudo firewall-cmd --reload

Ⅲ 驗(yàn)證

  • 此處依然需要查看服務(wù)器所在平臺安全組是否開放相關(guān)端口羽利。
  • 然后,可以直接外網(wǎng)訪問 http://你的IP地址 來驗(yàn)證是否成功刊懈。

nginx的配置文件在/etc/nginx/nginx.conf
自定義的配置文件放在/etc/nginx/conf.d
項(xiàng)目文件存放在/usr/share/nginx/html/
日志文件存放在/var/log/nginx/
還有一些其他的安裝文件都在/etc/nginx

Ⅳ 配置 SSL

1h1ttps:1//help.aliyun.com/document_detail/98728.html?spm=5176.b657008.help.dexternal.5fa0799dG0lX6y
這里跟著官網(wǎng)說明按部就班就好这弧。
大概步驟如下:

  • 下載證書
  • 打開服務(wù)器到nginx.conf配置文件同層文件夾,新建cert文件夾虚汛,然后將證書解壓的倆文件放進(jìn)去
  • 再打開配置文件nginx.conf去修改
    server {
        listen 80;
        server_name yourdomain; #需要將yourdomain替換成證書綁定的域名匾浪。
        rewrite ^(.*)$ https://$host$1; #將所有HTTP請求通過rewrite指令重定向到HTTPS。
    }

# Settings for a TLS enabled server.
#
#以下屬性中卷哩,以ssl開頭的屬性表示與證書配置有關(guān)蛋辈。
    server {
        listen 443 ssl;
        #配置HTTPS的默認(rèn)訪問端口為443。
        #如果未在此處配置HTTPS的默認(rèn)訪問端口将谊,可能會造成Nginx無法啟動冷溶。
        #如果您使用Nginx 1.15.0及以上版本,請使用listen 443 ssl代替listen 443和ssl on尊浓。
        server_name yourdomain; #需要將yourdomain替換成證書綁定的域名逞频。
        root html;
        index index.html index.htm;
        ssl_certificate cert/cert-file-name.pem;  #需要將cert-file-name.pem替換成已上傳的證書文件的名稱。
        ssl_certificate_key cert/cert-file-name.key; #需要將cert-file-name.key替換成已上傳的證書私鑰文件的名稱眠砾。
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        #表示使用的加密套件的類型虏劲。
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS協(xié)議的類型。
        ssl_prefer_server_ciphers on;
        location / {
            proxy_pass http://程序運(yùn)行IP:運(yùn)行端口/;
        }
    }
  • 此處還是要驗(yàn)證服務(wù)器平臺的安全組褒颈,是否打開了443端口。

三励堡、OVER


上海加油谷丸!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市应结,隨后出現(xiàn)的幾起案子刨疼,更是在濱河造成了極大的恐慌泉唁,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件揩慕,死亡現(xiàn)場離奇詭異亭畜,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)迎卤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門拴鸵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蜗搔,你說我怎么就攤上這事劲藐。” “怎么了樟凄?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵聘芜,是天一觀的道長。 經(jīng)常有香客問我缝龄,道長汰现,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任叔壤,我火速辦了婚禮瞎饲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘百新。我一直安慰自己企软,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布饭望。 她就那樣靜靜地躺著仗哨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪铅辞。 梳的紋絲不亂的頭發(fā)上厌漂,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機(jī)與錄音斟珊,去河邊找鬼苇倡。 笑死,一個(gè)胖子當(dāng)著我的面吹牛囤踩,可吹牛的內(nèi)容都是我干的旨椒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼堵漱,長吁一口氣:“原來是場噩夢啊……” “哼综慎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起勤庐,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤示惊,失蹤者是張志新(化名)和其女友劉穎好港,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體米罚,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡钧汹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了录择。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拔莱。...
    茶點(diǎn)故事閱讀 40,144評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖糊肠,靈堂內(nèi)的尸體忽然破棺而出辨宠,到底是詐尸還是另有隱情,我是刑警寧澤货裹,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布嗤形,位于F島的核電站,受9級特大地震影響弧圆,放射性物質(zhì)發(fā)生泄漏赋兵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一搔预、第九天 我趴在偏房一處隱蔽的房頂上張望霹期。 院中可真熱鬧,春花似錦拯田、人聲如沸历造。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吭产。三九已至,卻和暖如春鸭轮,著一層夾襖步出監(jiān)牢的瞬間臣淤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工窃爷, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留邑蒋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓按厘,卻偏偏與公主長得像医吊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子逮京,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容