一芹关、服務(wù)器環(huán)境搭建(centos7)
1.虛擬機(jī)安裝centos鏡像系統(tǒng)此處省略
2.虛擬機(jī)網(wǎng)絡(luò)設(shè)置
打開VMware,選擇菜單編輯虛擬機(jī)網(wǎng)絡(luò)編輯器,記錄虛擬機(jī)網(wǎng)關(guān)信息续徽。
選中要安裝好的虛擬機(jī)徽龟,右鍵-設(shè)置祷安,設(shè)置其網(wǎng)絡(luò)適配器為NAT模式。
設(shè)置完成打開虛擬機(jī)嗽桩,使用root賬戶登錄岳守,登錄后打開終端,切換到網(wǎng)絡(luò)配置目錄
cd /etc/sysconfig/network-scripts
使用vi命令修改配置文件碌冶,使用以下代碼替換配置文件湿痢,修改服務(wù)器為靜態(tài)ip,方便訪問。
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
設(shè)置完成后保存退出扑庞,并且重啟網(wǎng)卡譬重。
service network restart //重啟網(wǎng)卡命令
沒有報(bào)錯(cuò)則配置沒有問題,重啟成功罐氨,使用ping命令測試與主機(jī)的連通性害幅。
正常則說明服務(wù)器連接主機(jī)完成,只要主機(jī)能連接外網(wǎng)岂昭,則服務(wù)器也可以連通外網(wǎng)以现,從而在后續(xù)可以在線獲取軟件并安裝狠怨,這時(shí)服務(wù)器端沒有問題測試主機(jī)與服務(wù)器連通,方便使用軟件遠(yuǎn)程連接服務(wù)器邑遏。
如果電腦ping 不同虛擬機(jī)佣赖,則進(jìn)行一下修改,選擇電腦右下角網(wǎng)絡(luò)(連無線網(wǎng)的地方)右鍵打開網(wǎng)絡(luò)設(shè)置记盒,更改適配器與虛擬機(jī)在同一網(wǎng)段憎蛤。
打開網(wǎng)絡(luò)適配器,選擇Vmnet8,點(diǎn)擊屬性修改ipv4信息纪吮,從自動(dòng)獲取改為手動(dòng)俩檬,并輸入值,點(diǎn)擊確定碾盟。
修改完成后棚辽,在次測試與虛擬機(jī)連通性。
測試成功冰肴,虛擬機(jī)網(wǎng)絡(luò)配置到此結(jié)束屈藐。
3.虛擬機(jī)服務(wù)器軟件安裝
1.安裝docker
1.1 docker的簡單介紹
??簡單的說,docker是一種虛擬化容器技術(shù)熙尉,基于網(wǎng)上已經(jīng)存在的軟件鏡像联逻,可以秒級的啟動(dòng)各種容器。每一種容器都是一個(gè)完整的運(yùn)行環(huán)境检痰,每一個(gè)容器就相當(dāng)于一個(gè)軟件包归,且每個(gè)容器之間相互隔離、互不影響铅歼。如果我們想要安裝軟件公壤,只需要安裝docker,它就會去軟件鏡像市場幫我們?nèi)ハ螺d。
1.2 docker安裝步驟
??查看docker官網(wǎng)谭贪,在導(dǎo)航欄選擇Developers-Docs進(jìn)入安裝文檔境钟,查看我們對應(yīng)的版本,注意docker有兩個(gè)版本俭识,Docker Engine-Community社區(qū)版和Docker Enterprise企業(yè)版慨削,社區(qū)版是免費(fèi)的,所以我們用社區(qū)版套媚。
選擇linux下安裝
選擇安裝步驟是centos的文檔缚态,查看
使用Xshell工具連接服務(wù)器,按照文檔說明堤瘤,我們需要先卸載舊的docker玫芦,因?yàn)槲覀円郧皼]有安裝過docker,所以不會卸載什么本辐,可選擇執(zhí)行桥帆。執(zhí)行以下卸載命令:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
執(zhí)行完成:
繼續(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的前期準(zhǔn)備完成,接下來跳過文檔的一些可選步驟老虫,之接執(zhí)行命令來安裝docker:
//安裝docker
yum install docker-ce docker-ce-cli containerd.io
提示輸入一路"y"叶骨,過程有點(diǎn)慢,稍等安裝完成:
安裝完成祈匙,但是現(xiàn)在docker還沒有啟動(dòng)忽刽,執(zhí)行命令啟動(dòng)docker:
//啟動(dòng)docker
systemctl start docker
沒有報(bào)錯(cuò),啟動(dòng)成功夺欲,使用命令查看
//查看版本
docker -v
//查看已經(jīng)安裝鏡像跪帝,不是管理員加sudo
docker images
暫時(shí)還沒有鏡像安裝,接下來給docker設(shè)置開機(jī)自啟動(dòng)些阅,默認(rèn)是不自啟動(dòng)的伞剑,每次服務(wù)器開啟都需要重啟,比較麻煩扑眉,使用命令開啟開機(jī)自啟動(dòng):
//設(shè)置docker開機(jī)自啟動(dòng)
systemctl enable docker
執(zhí)行完成
到此docker的整個(gè)安裝完成纸泄。
1.3 docker設(shè)置阿里云鏡像
??默認(rèn)docker是從docker hup下載鏡像赖钞,在國內(nèi)比較慢腰素。因此我們配置阿里云的鏡像,加速下載雪营。
首先打開阿里云官網(wǎng),這里需要登錄弓千,登錄后點(diǎn)擊控制臺,在控制臺頁點(diǎn)擊左側(cè)菜單選擇容器鏡像服務(wù):
首次登錄會出現(xiàn)提示:
點(diǎn)擊開通献起,按要求輸入密碼洋访,進(jìn)入后,選擇鏡像加速服務(wù),選擇centos執(zhí)行底下的命令:
//創(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í)行命令
執(zhí)行完成谴餐,這樣docker就有了鏡像加速功能姻政。
2.docker安裝mysql
2.1利用docker下載mysql鏡像
利用docker可以快速的安裝軟件,首先打開docker的官方倉庫,直接搜索mysql:
我們可以看到很多的鏡像岂嗓,第一個(gè)就是官方的鏡像汁展,我們想安裝只需要執(zhí)行一個(gè)命令就可以:
//下載安裝mysql命令
docker pull mysql
如果我們不加版本信息的話,會默認(rèn)安裝最新的mysql版本厌殉,我們可以在倉庫查看版本信息:
如果要指定版本信息食绿,我們可以執(zhí)行這樣的命令:
sudo docker pull mysql:5.7 //以mysql5.7為例
執(zhí)行命令
下載完成并查看鏡像。
2.2 創(chuàng)建實(shí)例并啟動(dòng)
下載好了mysql5.7公罕,我們就需要去設(shè)置一些參數(shù)來啟動(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ù)說明
-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)志楼眷,則說明mysql啟動(dòng)成功:
啟動(dòng)成功铲汪,mysql安裝完成熊尉,使用命令查看正在運(yùn)行的鏡像:
docker ps
看到mysql正在運(yùn)行,到此mysql安裝完成掌腰。
2.3 修改mysql的配置
默認(rèn)mysql的編碼格式不是utf-8帽揪,所以有修改一下,上面我們執(zhí)行了文件映射辅斟,將mysql的配置從容器當(dāng)中映射到了服務(wù)器當(dāng)中转晰,接下來只需要修改映射目錄的文件配置就相當(dāng)于修改容器內(nèi)mysql的配置了。切換目錄
拷貝配置到新建的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會超級慢
添加后保存完成查邢,使用命令重啟mysql服務(wù):
docker restart mysql-master
啟動(dòng)完成:
可以通過命令進(jìn)入容器查看配置是否生效:
//進(jìn)入容器控制臺
docker exec -it mysql /bin/bash
//進(jìn)入mysql配置目錄
cd /etc/mysql/
//查看文件內(nèi)容
cat my.cnf
查看:
至此,mysql安裝配置結(jié)束酵幕。
3.docker安裝redis
3.1 下載redis鏡像
使用命令下載最新的redis到服務(wù)器:
docker pull redis
下載完成扰藕。
3.2 創(chuàng)建redis實(shí)例并啟動(dòng)
類似于mysql,使用命令對redis做端口映射和配置文件目錄映射:
//首先執(zhí)行
mkdir -p /mydata/redis/conf/
touch /mydata/redis/conf/redis.conf
//在執(zhí)行命令做映射 不然會將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 ps
啟動(dòng)成功,通過命令測試redis客戶端是否可以使用:
docker exec -it redis redis-cli
測試連接沒有問題笔刹。但是現(xiàn)在redis還不能持久化存入數(shù)據(jù)芥备,所以要進(jìn)行設(shè)置,切換到我們的外部redis配置文件目錄舌菜,使用vi命令在redis.conf文件插入配置:
appendonly yes
修改配置后重啟一下redis
docker restart redis //重啟命令
測試一下我們的配置是否生效萌壳,使用命令進(jìn)入redis客戶端,存入一條數(shù)據(jù) "a = b"日月,然后重啟redis袱瓮,再次獲取a的值,能獲取到則說明持久化配置成功:
//進(jìn)入redis客戶端
docker exec -it redis redis-cli
//set命令設(shè)置值
set a b
//get命令獲取值
get a
如果沒有配置持久化爱咬,那么重啟redis服務(wù)必然獲取不到之前存的值尺借,而我們測試可以獲取到"a"的值"b",說明配置生效。到此服務(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)并沒有容器正在運(yùn)行串前,使用dpcker ps -a查看所有的容器:
可以看到存在容器瘫里,但是容器沒有運(yùn)行,接下來我們通過命令配置容器荡碾,讓docker啟動(dòng)容器伴隨著一起啟動(dòng):
//配置容器自動(dòng)啟動(dòng)
docker update "容器名" --restart=always
配置完成后重新啟動(dòng)虛擬機(jī)谨读,使用命令查看正在運(yùn)行的容器,發(fā)現(xiàn)配置過的容器已經(jīng)運(yùn)行狀態(tài):
配置容器開機(jī)自啟動(dòng)完成坛吁。