1-開(kāi)發(fā)環(huán)境準(zhǔn)備-服務(wù)器(虛擬機(jī))

一、服務(wù)器環(huán)境搭建(centos7)

1.虛擬機(jī)安裝centos鏡像系統(tǒng)此處省略

2.虛擬機(jī)網(wǎng)絡(luò)設(shè)置

打開(kāi)VMware,選擇菜單編輯虛擬機(jī)網(wǎng)絡(luò)編輯器,記錄虛擬機(jī)網(wǎng)關(guān)信息。


網(wǎng)絡(luò)編輯器設(shè)置.png

選中要安裝好的虛擬機(jī),右鍵-設(shè)置,設(shè)置其網(wǎng)絡(luò)適配器為NAT模式。


網(wǎng)絡(luò)編輯器設(shè)置2.png

設(shè)置完成打開(kāi)虛擬機(jī),使用root賬戶登錄,登錄后打開(kāi)終端,切換到網(wǎng)絡(luò)配置目錄
cd /etc/sysconfig/network-scripts 
網(wǎng)絡(luò)配置目錄.png

使用vi命令修改配置文件,使用以下代碼替換配置文件,修改服務(wù)器為靜態(tài)ip,方便訪問(wèn)。

YPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=6e71b026-fc1b-4776-ac94-2fe42afa57e4
DEVICE=ens32
ONBOOT=yes
IPV6_PRIVACY=no
#IP地址
IPADDR=192.168.126.108 //自己設(shè)置不沖突且與網(wǎng)絡(luò)編輯器保持一致即可
PREFIX=24
#子網(wǎng)掩碼
NETMASK=255.255.255.0
#網(wǎng)關(guān)
GATEWAY=192.168.126.2
#DNS
DNS1=8.8.8.8
DNS2=8.8.4.4

網(wǎng)絡(luò)配置1.png

設(shè)置完成后保存退出,并且重啟網(wǎng)卡。

service network restart //重啟網(wǎng)卡命令 
網(wǎng)絡(luò)配置2.png

沒(méi)有報(bào)錯(cuò)則配置沒(méi)有問(wèn)題,重啟成功,使用ping命令測(cè)試與主機(jī)的連通性。


網(wǎng)絡(luò)配置3.png

正常則說(shuō)明服務(wù)器連接主機(jī)完成,只要主機(jī)能連接外網(wǎng),則服務(wù)器也可以連通外網(wǎng),從而在后續(xù)可以在線獲取軟件并安裝,這時(shí)服務(wù)器端沒(méi)有問(wèn)題測(cè)試主機(jī)與服務(wù)器連通,方便使用軟件遠(yuǎn)程連接服務(wù)器。
如果電腦ping 不同虛擬機(jī),則進(jìn)行一下修改,選擇電腦右下角網(wǎng)絡(luò)(連無(wú)線網(wǎng)的地方)右鍵打開(kāi)網(wǎng)絡(luò)設(shè)置,更改適配器與虛擬機(jī)在同一網(wǎng)段。


網(wǎng)絡(luò)配置4.png

打開(kāi)網(wǎng)絡(luò)適配器,選擇Vmnet8,點(diǎn)擊屬性修改ipv4信息,從自動(dòng)獲取改為手動(dòng),并輸入值,點(diǎn)擊確定。


網(wǎng)絡(luò)配置5.png

修改完成后,在次測(cè)試與虛擬機(jī)連通性。
網(wǎng)絡(luò)配置6.png

測(cè)試成功,虛擬機(jī)網(wǎng)絡(luò)配置到此結(jié)束。

3.虛擬機(jī)服務(wù)器軟件安裝

1.安裝docker
1.1 docker的簡(jiǎn)單介紹

??簡(jiǎn)單的說(shuō),docker是一種虛擬化容器技術(shù),基于網(wǎng)上已經(jīng)存在的軟件鏡像,可以秒級(jí)的啟動(dòng)各種容器。每一種容器都是一個(gè)完整的運(yùn)行環(huán)境,每一個(gè)容器就相當(dāng)于一個(gè)軟件,且每個(gè)容器之間相互隔離、互不影響。如果我們想要安裝軟件,只需要安裝docker,它就會(huì)去軟件鏡像市場(chǎng)幫我們?nèi)ハ螺d。

1.2 docker安裝步驟

??查看docker官網(wǎng),在導(dǎo)航欄選擇Developers-Docs進(jìn)入安裝文檔,查看我們對(duì)應(yīng)的版本,注意docker有兩個(gè)版本,Docker Engine-Community社區(qū)版和Docker Enterprise企業(yè)版,社區(qū)版是免費(fèi)的,所以我們用社區(qū)版。

docker安裝步驟1.png

選擇linux下安裝


docker安裝步驟2.png

選擇安裝步驟是centos的文檔,查看
使用Xshell工具連接服務(wù)器,按照文檔說(shuō)明,我們需要先卸載舊的docker,因?yàn)槲覀円郧皼](méi)有安裝過(guò)docker,所以不會(huì)卸載什么,可選擇執(zhí)行。執(zhí)行以下卸載命令:

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

執(zhí)行完成:

docker安裝步驟3.png

繼續(xù)按照文檔安裝,使用命令設(shè)置docker的安裝地址和安裝一些依賴

//安裝依賴
yum install -y yum-utils
//設(shè)置地址
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

執(zhí)行完成


docker安裝步驟4.png

docker的前期準(zhǔn)備完成,接下來(lái)跳過(guò)文檔的一些可選步驟,之接執(zhí)行命令來(lái)安裝docker:

//安裝docker
yum install docker-ce docker-ce-cli containerd.io

提示輸入一路"y",過(guò)程有點(diǎn)慢,稍等安裝完成:


docker安裝步驟5.png

安裝完成,但是現(xiàn)在docker還沒(méi)有啟動(dòng),執(zhí)行命令啟動(dòng)docker:

//啟動(dòng)docker
systemctl start docker
docker安裝步驟6.png

沒(méi)有報(bào)錯(cuò),啟動(dòng)成功,使用命令查看

//查看版本
docker -v
//查看已經(jīng)安裝鏡像,不是管理員加sudo
docker images
docker安裝步驟7.png

暫時(shí)還沒(méi)有鏡像安裝,接下來(lái)給docker設(shè)置開(kāi)機(jī)自啟動(dòng),默認(rèn)是不自啟動(dòng)的,每次服務(wù)器開(kāi)啟都需要重啟,比較麻煩,使用命令開(kāi)啟開(kāi)機(jī)自啟動(dòng):

//設(shè)置docker開(kāi)機(jī)自啟動(dòng)
systemctl enable docker

執(zhí)行完成


docker安裝步驟8.png

到此docker的整個(gè)安裝完成。

1.3 docker設(shè)置阿里云鏡像

??默認(rèn)docker是從docker hup下載鏡像,在國(guó)內(nèi)比較慢。因此我們配置阿里云的鏡像,加速下載。
首先打開(kāi)阿里云官網(wǎng),這里需要登錄,登錄后點(diǎn)擊控制臺(tái),在控制臺(tái)頁(yè)點(diǎn)擊左側(cè)菜單選擇容器鏡像服務(wù):


docker配置1.png

首次登錄會(huì)出現(xiàn)提示:


docker配置2.png

點(diǎn)擊開(kāi)通,按要求輸入密碼,進(jìn)入后,選擇鏡像加速服務(wù),選擇centos執(zhí)行底下的命令:
docker配置4.png
//創(chuàng)建文件夾
sudo mkdir -p /etc/docker
//配置加速地址
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://c0ptjn3x.mirror.aliyuncs.com"]
}
EOF
//重啟docker的伴隨線程
sudo systemctl daemon-reload
//重啟docker的服務(wù)
sudo systemctl restart docker

執(zhí)行命令


docker配置5.png

執(zhí)行完成,這樣docker就有了鏡像加速功能。

2.docker安裝mysql
2.1利用docker下載mysql鏡像

利用docker可以快速的安裝軟件,首先打開(kāi)docker的官方倉(cāng)庫(kù),直接搜索mysql:

docker安裝mysql.png

我們可以看到很多的鏡像,第一個(gè)就是官方的鏡像,我們想安裝只需要執(zhí)行一個(gè)命令就可以:

//下載安裝mysql命令
docker pull mysql 

如果我們不加版本信息的話,會(huì)默認(rèn)安裝最新的mysql版本,我們可以在倉(cāng)庫(kù)查看版本信息:


docker安裝mysql2.png

如果要指定版本信息,我們可以執(zhí)行這樣的命令:

sudo docker pull mysql:5.7 //以mysql5.7為例

執(zhí)行命令


docker安裝mysql4.png

下載完成并查看鏡像。

2.2 創(chuàng)建實(shí)例并啟動(dòng)

下載好了mysql5.7,我們就需要去設(shè)置一些參數(shù)來(lái)啟動(dòng)mysql服務(wù),執(zhí)行以下命令:

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7 
參數(shù)說(shuō)明
    -p 3306:3306:將容器的3306端口映射到主機(jī)的3306端口
    -v /mydata/mysql/master/conf:/etc/mysql:將配置文件夾掛在到主機(jī)
    -v /mydata/mysql/master/log:/var/log/mysql:將日志文件夾掛載到主機(jī)
    -v /mydata/mysql/master/data:/var/lib/mysql/:將配置文件夾掛載到主機(jī)
    -e MYSQL_ROOT_PASSWORD=root:初始化root用戶的密碼

執(zhí)行完成,看到一串標(biāo)志,則說(shuō)明mysql啟動(dòng)成功:


docker安裝mysql5.png

啟動(dòng)成功,mysql安裝完成,使用命令查看正在運(yùn)行的鏡像:

docker ps
docker安裝mysql6.png

看到mysql正在運(yùn)行,到此mysql安裝完成。

2.3 修改mysql的配置

默認(rèn)mysql的編碼格式不是utf-8,所以有修改一下,上面我們執(zhí)行了文件映射,將mysql的配置從容器當(dāng)中映射到了服務(wù)器當(dāng)中,接下來(lái)只需要修改映射目錄的文件配置就相當(dāng)于修改容器內(nèi)mysql的配置了。切換目錄


docker安裝mysql配置1.png

拷貝配置到新建的my.cnf文件中

[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8
 
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
注意:skip-name-resolve一定要加,不然連接mysql會(huì)超級(jí)慢

添加后保存完成,使用命令重啟mysql服務(wù):

docker restart mysql-master

啟動(dòng)完成:


docker安裝mysql配置2.png

可以通過(guò)命令進(jìn)入容器查看配置是否生效:

//進(jìn)入容器控制臺(tái)
docker exec -it mysql /bin/bash
//進(jìn)入mysql配置目錄
cd /etc/mysql/
//查看文件內(nèi)容
cat my.cnf

查看:


docker安裝mysql配置3.png

至此,mysql安裝配置結(jié)束。

3.docker安裝redis
3.1 下載redis鏡像

使用命令下載最新的redis到服務(wù)器:

docker pull redis
docker安裝redis1.png

下載完成。

3.2 創(chuàng)建redis實(shí)例并啟動(dòng)

類似于mysql,使用命令對(duì)redis做端口映射和配置文件目錄映射:

//首先執(zhí)行
mkdir -p /mydata/redis/conf/
touch /mydata/redis/conf/redis.conf
//在執(zhí)行命令做映射 不然會(huì)將redis.conf當(dāng)做目錄
docker run -p 6379:6379 --name redis 
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf 
-v /root/redis/data:/data 
-d redis redis-server /etc/redis/redis.conf //指定啟動(dòng)文件

一定要先創(chuàng)建文件,然后執(zhí)行掛載命令,執(zhí)行完成:


docker安裝redis2.png

使用命令查看:

docker ps
docker安裝redis3.png

啟動(dòng)成功,通過(guò)命令測(cè)試redis客戶端是否可以使用:

docker exec -it redis redis-cli
docker安裝redis4.png

測(cè)試連接沒(méi)有問(wèn)題。但是現(xiàn)在redis還不能持久化存入數(shù)據(jù),所以要進(jìn)行設(shè)置,切換到我們的外部redis配置文件目錄,使用vi命令在redis.conf文件插入配置:

appendonly yes

docker安裝redis5.png

修改配置后重啟一下redis

docker restart redis //重啟命令

測(cè)試一下我們的配置是否生效,使用命令進(jìn)入redis客戶端,存入一條數(shù)據(jù) "a = b",然后重啟redis,再次獲取a的值,能獲取到則說(shuō)明持久化配置成功:

//進(jìn)入redis客戶端
docker exec -it redis redis-cli
//set命令設(shè)置值
set a b
//get命令獲取值
get a 
docker安裝redis6.png

如果沒(méi)有配置持久化,那么重啟redis服務(wù)必然獲取不到之前存的值,而我們測(cè)試可以獲取到"a"的值"b",說(shuō)明配置生效。到此服務(wù)器環(huán)境搭建完畢。

4.配置docker啟動(dòng)自啟動(dòng)容器

當(dāng)我們重新啟動(dòng)服務(wù)器的時(shí)候發(fā)現(xiàn),使用命令docker ps查看正在運(yùn)行的容器,我們發(fā)現(xiàn)并沒(méi)有容器正在運(yùn)行,使用dpcker ps -a查看所有的容器:


docker配置6.png

可以看到存在容器,但是容器沒(méi)有運(yùn)行,接下來(lái)我們通過(guò)命令配置容器,讓docker啟動(dòng)容器伴隨著一起啟動(dòng):

//配置容器自動(dòng)啟動(dòng)
docker update "容器名" --restart=always
docker配置7.png

配置完成后重新啟動(dòng)虛擬機(jī),使用命令查看正在運(yùn)行的容器,發(fā)現(xiàn)配置過(guò)的容器已經(jīng)運(yùn)行狀態(tài):


docker配置8.png

配置容器開(kāi)機(jī)自啟動(dòng)完成。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容