目錄
一 配置服務(wù)器環(huán)境
1.1 配置yum? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
1.1.1 更新yum包
1.1.2 yum命令
1.2 配置docker? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
1.2.1 查看是否安裝過docker rpm包
? 1.2.2 安裝docker
? 1.2.3 啟動(dòng)docker
?1.2.4 設(shè)置Docker開機(jī)自啟動(dòng)
1.2.5 查看Docker是否運(yùn)行?
?1.2.6 查看可用容器
?1.2.7 運(yùn)行容器
1.2.8 暫停容器
?1.2.9 如何重啟容器
1.2.10 停止容器
?1.2.11 刪除容器
?1.3?安裝.NetCore SDK6.0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
1.3.1 安裝包配置
1.3.2 執(zhí)行安裝
?1.3.3 驗(yàn)證Net6的安裝環(huán)境
?1.4 安裝MySql
?1.4.1 查看系統(tǒng)版本
?1.4.2 卸載MySql
1.4.3 安裝MySql
1.4.4 啟動(dòng)MySql?
1.4.5 開啟MySql端口
一 配置服務(wù)器環(huán)境
1.1 配置yum? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
在配置yum之前,我們需要先了解yum是什么,yum,是Yellow dog Updater Modified的簡(jiǎn)稱,起初是由yellow dog這一發(fā)行版的開發(fā)者Terra Soft研發(fā),用python寫成,那時(shí)還叫做yup(yellow dog updater),后經(jīng)杜克大學(xué)的Linux@Duke開發(fā)團(tuán)隊(duì)進(jìn)行改進(jìn),遂有此名。
yum的宗旨是自動(dòng)化地升級(jí),安裝/移除rpm包,收集rpm包的相關(guān)信息,檢查依賴性并自動(dòng)提示用戶解決。
yum的關(guān)鍵之處是要有可靠的repository,顧名思義,這是軟件的倉(cāng)庫(kù),它可以是http或ftp站點(diǎn), 也可以是本地軟件池,但必須包含rpm的header, header包括了rpm包的各種信息,包括描述,功能,提供的文件,依賴性等.正是收集了這些 header并加以分析,才能自動(dòng)化地完成余下的任務(wù)。
它能夠從指定的服務(wù)器自動(dòng)下載RPM包并且安裝,可以自動(dòng)處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。
1.1.1 更新yum包
sudo yum update
安裝yum-utils 用來管理yum源代
sudo yum install -y yum-utils
1.1.2 yum命令
首先用yum來升級(jí)軟件,yum的操作大都須有超級(jí)用戶的權(quán)限,當(dāng)然可以用sudo。裝了系統(tǒng)添加刪除軟件是常事,yum同樣可以勝任這一任務(wù),只要軟件是rpm安裝的。
? ? 安裝命令
yum install xxx
? ? 刪除命令
yum remove xxx
? ? 其他常用命令
1.yum check-update 列出所有可更新的軟件清單
2.yum update 安裝所有更新軟件
3.yum -y install <package_name> 安裝指定的軟件
4.yum update <package_name> 更新指定的軟件
5.yum list <package_name> 不加<package_name>列出所有可安裝的軟件清單,加了列出指定的
6.yum -y remove <package_name> 刪除軟件
7.yum search <package_name> 查找軟件
8.yum list installed 列出所有已安裝的軟件包
9.yum list extras 列出所有已安裝但不在 Yum Repository 內(nèi)的軟件包
10.yum info <package_name> 不加<package_name>列出所有軟件包的信息,加了列出指定的
11.yum provides <package_name> 列出軟件包提供哪些文件
12.yum clean packages 清除緩存目錄(/var/cache/yum)下的軟件包
13. yum clean all 清除緩存目錄(/var/cache/yum)下的軟件包及舊的headers
1.2 配置docker? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
1.2.1 查看是否安裝過docker rpm包
yum list installed | grep docker
如果之前安裝過可以不用安裝,如果想重新安裝也可以,執(zhí)行卸載老版本docker以及相關(guān)依賴即可
sudo yum remove docker docker-common container-selinux docker-selinux docker-engine
? 1.2.2 安裝docker
yum -y install docker-ce
如果出現(xiàn) No package docker-ce available 錯(cuò)誤,這里我們只需要設(shè)置穩(wěn)定的倉(cāng)庫(kù),添加yum源即可。
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
然后再執(zhí)行安裝Docker命令進(jìn)行安裝就可以了?。
? 1.2.3 啟動(dòng)docker
sudo systemctl start docker
?1.2.4 設(shè)置Docker開機(jī)自啟動(dòng)
sudo systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
1.2.5 查看Docker是否運(yùn)行?
systemctl status docker
docker.service - Docker Application Container Engine
? ?Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
? ?Active: active (running) since Tue 2023-12-12 16:54:00 CST; 34s ago
? ? ?Docs: https://docs.docker.com
?Main PID: 26847 (dockerd)
? ?CGroup: /system.slice/docker.service
? ? ? ? ? ?└─26847 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sockDec 12 16:53:59 iZ2ze6on3jy8afby5yaj0bZ systemd[1]: Starting Docker Application Container Engine...
Dec 12 16:53:59 iZ2ze6on3jy8afby5yaj0bZ dockerd[26847]: time="2023-12-12T16:53:59.341325810+08:00" le...up"
Dec 12 16:53:59 iZ2ze6on3jy8afby5yaj0bZ dockerd[26847]: time="2023-12-12T16:53:59.490260781+08:00" le...t."
Dec 12 16:54:00 iZ2ze6on3jy8afby5yaj0bZ dockerd[26847]: time="2023-12-12T16:54:00.172727029+08:00" le...ng"
Dec 12 16:54:00 iZ2ze6on3jy8afby5yaj0bZ dockerd[26847]: time="2023-12-12T16:54:00.261938793+08:00" le...e."
Dec 12 16:54:00 iZ2ze6on3jy8afby5yaj0bZ dockerd[26847]: time="2023-12-12T16:54:00.287876345+08:00" le...0.7
Dec 12 16:54:00 iZ2ze6on3jy8afby5yaj0bZ dockerd[26847]: time="2023-12-12T16:54:00.287988480+08:00" le...on"
Dec 12 16:54:00 iZ2ze6on3jy8afby5yaj0bZ dockerd[26847]: time="2023-12-12T16:54:00.316181097+08:00" le...ck"
Dec 12 16:54:00 iZ2ze6on3jy8afby5yaj0bZ systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.
?1.2.6 查看可用容器
若要列出正在運(yùn)行的容器,請(qǐng)使用?docker ps
?命令
docker ps -a
需要查看前述輸出中的以下三個(gè)項(xiàng)
-
IMAGE 列中列出的映像名稱;在此示例中為 tmp-ubuntu: latest。 請(qǐng)注意,你可以從同一映像創(chuàng)建多個(gè)容器。 這是一種強(qiáng)大的管理功能,可用于在解決方案中實(shí)現(xiàn)縮放。
-
STATUS 列中列出的容器狀態(tài)。 在本例中,一個(gè)容器正在運(yùn)行,一個(gè)容器已退出。 容器的狀態(tài)通常是容器運(yùn)行狀況的第一個(gè)指標(biāo)。
-
NAMES 列中列出的容器名稱。 除了第一列中的容器 ID 之外,容器還會(huì)接收名稱。 在本例中,由于你沒有為每個(gè)容器顯式提供名稱,因此,Docker 為容器提供了隨機(jī)名稱。 若要使用?
--name
?標(biāo)志為容器提供顯式名稱,請(qǐng)使用?run
?命令。
為什么要為容器命名
借助此功能,可運(yùn)行同一映像的多個(gè)容器實(shí)例。 容器名稱是唯一的,這意味著如果指定了某一名稱,則不能重復(fù)使用該名稱來創(chuàng)建新的容器。 重復(fù)使用特定名稱的唯一方法是刪除之前的容器
?1.2.7 運(yùn)行容器
若要啟動(dòng)容器,請(qǐng)使用?docker run
?命令。 只需按名稱或 ID 指定要運(yùn)行的映像,即可從映像啟動(dòng)容器。 通過此方式啟動(dòng)的容器提供交互式體驗(yàn)
docker run -d tmp-ubuntu
1.2.8 暫停容器
若要暫停容器,請(qǐng)運(yùn)行?docker pause
?命令
docker pause happy_wilbur
?1.2.9 如何重啟容器
若要重啟容器,請(qǐng)運(yùn)行?docker restart
?命令
docker restart happy_wilbur
1.2.10 停止容器
若要停止正在運(yùn)行的容器,請(qǐng)運(yùn)行?docker stop
?命令
docker stop happy_wilbur
?1.2.11 刪除容器
若要?jiǎng)h除容器,請(qǐng)運(yùn)行?docker rm
?命令
docker rm happy_wilbur
?1.3?安裝.NetCore SDK6.0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
1.3.1 安裝包配置
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
1.3.2 執(zhí)行安裝
sudo yum install dotnet-sdk-6.0
?1.3.3 驗(yàn)證Net6的安裝環(huán)境
dotnet --info
?1.4 安裝MySql
?1.4.1 查看系統(tǒng)版本
cat /etc/redhat-release
?1.4.2 卸載MySql
查看系統(tǒng)是否已經(jīng)安裝過MySql
rpm -qa | grep mysql
卸載MySql
rpm -e --nodeps 軟件名
查找MySql文件,并將其刪除
find / -name mysql
whereis mysql
?將find
命令和whereis
命令查詢到的mysql文件全部刪除
rm -rf 查詢到的mysql路徑
刪除mysql配置文件
rm /etc/my.cnf
確認(rèn)是否全部刪除mysql
rpm -qa | grep -i mysql
查看是否有安裝?mariadb,該軟件與 MySQL 數(shù)據(jù)庫(kù)有沖突,需要手動(dòng)卸載
rpm -qa | grep mariadb
移除MySql相關(guān)的軟件
rpm -e --nodeps community-common-8.0.31-1.el8.x86_6
如果出現(xiàn)包移除失敗時(shí),error: package –-nodeps is not installed
看了一下 rpm的參數(shù)表,發(fā)現(xiàn)這個(gè) nodeps 應(yīng)該是 no depends 的縮寫,于是乎,有點(diǎn)兒頓悟,莫非是要?jiǎng)h除的模塊沒有依賴?
去掉這個(gè)參數(shù)
rpm -e mysql-community-common-8.0.31-1.el8.x86_6
1.4.3 安裝MySql
安裝MySql需要在MySql官網(wǎng)查看Mysql安裝包。找到MySQL Community Server
選擇 MySQL 的版本
注意 MySQL 的版本需要與 Linux 的版本對(duì)應(yīng)上
centos7 系統(tǒng)對(duì)應(yīng)的 MySQL 是 el7
centos8 系統(tǒng)對(duì)應(yīng)的 MySQL 是 el8
一般情況下,直接選擇第一個(gè)安裝包即可,第一個(gè)安裝包的版本會(huì)不定時(shí)的更新,與本文所用的安裝包有略微的差別,但是并不影響具體的使用
下載安裝包
cd /usr/local
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-1.el8.x86_64.rpm-bundle.tar
等待下載完成,查看下載后的文件
ll
解壓
解壓之后會(huì)有很多包產(chǎn)生,為了方便查看,將其解壓到?/usr/local/mysql_package
?里面
mkdir /usr/local/mysql_package
cd /usr/local/mysql_package
tar -xvf /usr/local/mysql-8.0.31-1.el8.x86_64.rpm-bundle.tar -C /usr/local/mysql_package
使用rpm安裝
必須按照順序執(zhí)行命令,否則會(huì)出現(xiàn)依賴錯(cuò)誤的報(bào)錯(cuò)
rpm -ivh mysql-community-common-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.31-1.el7.x86_64.rpm
常見錯(cuò)誤總結(jié)
未按照規(guī)定順序安裝軟件
按照順序安裝即可解決
?openssl 缺失
?安裝?
openssl-devel
?即可解決
rpm -ivh mysql-community-devel-8.0.31-1.el8.x86_64.rpm
使用?yum install openssl-devel -y
?安裝?openssl-devel
yum install openssl-devel -y
?perl 和 libaio 缺失
安裝?
prel
?和?libaio
?即可解決
yum list perl
yum install -y perl.x86_64
查看與 libaio 相關(guān)的軟件
yum list libaio
?安裝
yum install -y libaio*
libc.so.6 缺失
大概率是因?yàn)橄螺d的?MySQL版本與 Linux 版本對(duì)應(yīng)不上,可以檢查一下 MySQL 壓縮包后綴名里面的參數(shù)是否與系統(tǒng)版本匹配
- centos7 系統(tǒng)對(duì)應(yīng)的 MySQL 是 el7
- centos8 系統(tǒng)對(duì)應(yīng)的 MySQL 是 el8
1.4.4 啟動(dòng)MySql?
啟動(dòng)MySql服務(wù)
systemctl start mysqld
獲取首次啟動(dòng)生成的隨機(jī)密碼
sudo grep 'temporary password' /var/log/mysqld.log
登錄mySql并修改密碼
mysql -uroot -p
更新密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPwd123';
開啟允許root賬戶遠(yuǎn)程連接
# 切換使用mysql數(shù)據(jù)庫(kù)
use mysql;
# 開啟遠(yuǎn)程
update user set host='%' where user='root';
# 刷新權(quán)限
flush privileges;
退出mysql
quit;
1.4.5 開啟MySql端口
開啟防火墻端口允許訪問
#查看防火墻狀態(tài)
systemctl status firewalld
#查看開放的端口
firewall-cmd --query-port=3306/tcp
#添加端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#重載防火墻
firewall-cmd --reload
#再次查看端口是否已經(jīng)開放
firewall-cmd --query-port=3306/tcp
?systemctl status firewalld? ?查看防火墻狀態(tài)
firewall-cmd --query-port=3306/tcp 查看開放的端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent? 添加端口
?firewall-cmd --reload 重載防火墻
firewall-cmd --query-port=3306/tcp 再次查看端口是否已經(jīng)開放
文章來源:http://www.zghlxwxcb.cn/news/detail-757403.html
設(shè)置mySql開啟自啟文章來源地址http://www.zghlxwxcb.cn/news/detail-757403.html
systemctl enable mysqld
到了這里,關(guān)于如何使用Docker將.Net6項(xiàng)目部署到Linux服務(wù)器(一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!