一、后臺服務(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端口。