一磁滚、禪道搭建:
1佛吓、下載禪道安裝包至阿里云服務(wù)器
wget http://dl.cnezsoft.com/zentao/11.2/ZenTaoPMS.11.2.stable.zbox_64.tar.gz
2宵晚、解壓安裝包
gunzip ZenTaoPMS.11.2.stable.zbox_64.tar.gz
3、歸檔文件(配置歸檔路徑必須是opt)
tar -xvf ZenTaoPMS.11.2.stable.zbox_64.tar -C /opt
4维雇、安裝禪道(配置自帶web服務(wù)器Apache的端口9090淤刃,數(shù)據(jù)庫端口3307)
/opt/zbox/zbox start -ap 9090 -mp 3307
5、開啟端口訪問
阿里云app上操作管理端口訪問權(quán)限
二吱型、linux命令(centos)
yum install XXX 下載安裝XXX
systemctl start XXX 啟動XXX
systemctl stop XXX 停止XXX
ps -ef 查看進程
kill -9 停止進程
三逸贾、docker虛擬容器
docker iamges 查看已下載鏡像
docker ps 查看運行中的容器
docker ps -a 查看所有容器
docker pull mysql:5.7 安裝容器mysql
docker pull redis 安裝容器redis(默認最新版本)
創(chuàng)建容器運行服務(wù)
docker run -d -p 6379:6379(冒號前端口是外部訪問端口,后端口是內(nèi)部訪問端口) --name redis-master(名字) redis:latest
docker run -d -p 3306:3306 --name mysql-master(名字)-e MYSQL_ROOT_PASSWORD=123456(啟動密碼) mysql:5.7(應(yīng)用及版本)
創(chuàng)建容器(要求數(shù)據(jù)導(dǎo)出則如此創(chuàng)建津滞,但需實現(xiàn)創(chuàng)建好數(shù)據(jù)導(dǎo)出文件耕陷,即/root/mysql/master/conf和/root/mysql/master/data)
docker run -d -p 3306:3306 --name mysql-master \
-v /root/mysql/master/conf:/etc/mysql/mysql.conf.d \
-v /root/mysql/master/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
/root/mysql/master/conf/mysqld.conf的文件內(nèi)容
[mysqld]
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
datadir=/var/lib/mysql
log-error=/var/log/mysql/error.log
server-id=1
log-bin=/var/log/mysql/mysql-bin.log
expire_logs_days=30
max_binlog_size=256M
symbolic-links=0
slow_query_log=ON
slow_query_log_file=/var/log/mysql/slow.log
long_query_time=1
創(chuàng)建容器(主從復(fù)制情況)
為容器redis-master創(chuàng)建 從容器slave-1
docker run -d --name slave-1 --link redis-master:redis-master redis redis-server --slaveof redis-master 6379
docker rm -f XXX 刪除容器(強制)
docker stop XXX 停止容器
docker start XXX 啟動容器
docker container prune 清空所有容器
docker exec -i -t XXX /bin/bash 進入容器
進入數(shù)據(jù)庫
mysql -u root -p
redis-cli
查看容器數(shù)據(jù)信息
show databases; 查看mysql
info replication 查看redis
=====================================
Docker簡易上手指南
Docker簡介
軟件開發(fā)中最為麻煩的事情可能就是配置環(huán)境了据沈。由于用戶使用的操作系統(tǒng)具有多樣性哟沫,即便使用跨平臺的開發(fā)語言(如Java和Python)都不能保證代碼能夠在各種平臺下都可以正常的運轉(zhuǎn),而且可能在不同的環(huán)境下我們的軟件需要依賴的其他軟件包也是不一樣的锌介。
那么問題來了嗜诀,我們再安裝軟件的時候可不可以把軟件運行的環(huán)境一并安裝?也就是說在安裝軟件的時候孔祸,我們是不是可以把原始環(huán)境一模一樣地復(fù)制過來呢隆敢?
虛擬機(virtual machine)就是帶環(huán)境安裝的一種解決方案,它可以在一種操作系統(tǒng)里面運行另一種操作系統(tǒng)崔慧,比如在Windows系統(tǒng)里面運行Linux系統(tǒng)拂蝎,在macOS上運行Windows,而應(yīng)用程序?qū)Υ撕翢o感知惶室。使用過虛擬機的人都知道温自,虛擬機用起來跟真實系統(tǒng)一模一樣,而對于虛擬機的宿主系統(tǒng)來說皇钞,虛擬機就是一個普通文件悼泌,不需要了就刪掉,對宿主系統(tǒng)或者其他的程序并沒有影響夹界。但是虛擬機通常會占用較多的系統(tǒng)資源馆里,啟動和關(guān)閉也非常的緩慢,總之用戶體驗沒有想象中的那么好可柿。
Docker屬于對Linux容器技術(shù)的一種封裝鸠踪,它提供了簡單易用的容器使用接口,是目前最流行的 Linux 容器解決方案复斥。Docker將應(yīng)用程序與該程序的依賴打包在一個文件里面营密,運行這個文件,就會生成一個虛擬容器永票。程序在這個虛擬容器里運行卵贱,就好像在真實的物理機上運行一樣滥沫。有了Docker就再也不用擔(dān)心環(huán)境問題了侣集。
目前键俱,Docker主要用于幾下幾個方面:
- 提供一次性的環(huán)境。
- 提供彈性的云服務(wù)(利用Docker很容易實現(xiàn)擴容和收縮)世分。
- 實踐微服務(wù)架構(gòu)(隔離真實環(huán)境在容器中運行多個服務(wù))编振。
CentOS下的安裝和使用
下面的講解以CentOS為例,使用Ubuntu臭埋、macOS或Windows的用戶可以通過點擊鏈接了解這些平臺下如何安裝和使用Docker踪央。
- 確定操作系統(tǒng)內(nèi)核版本(CentOS 7要求64位,內(nèi)核版本3.10+瓢阴;CentOS 6要求64位畅蹂,內(nèi)核版本2.6+)。
uname -r
- 在CentOS下使用yum安裝Docker并啟動荣恐。
yum -y install docker-io
systemctl start docker
- 檢視Docker的信息和版本液斜。
docker version
docker info
- 運行Hello-World項目來測試Docker。第一次運行時由于本地沒有hello-world的鏡像因此需要聯(lián)網(wǎng)進行下載叠穆。
docker run hello-world
也可以先用下面的命令下載鏡像少漆,然后再來運行。
docker pull <name>
- 運行鏡像文件硼被。
docker run <image-id>
docker run -p <port1>:<port2> <name>
- 查看鏡像文件示损。
docker image ls
docker images
- 刪除鏡像文件。
docker rmi <name>
- 查看正在運行容器嚷硫。
docker ps
- 停止運行的容器检访。
docker stop <container-id>
docker stop <name>
對于那些不會自動終止的容器,就可以用下面的方式來停止仔掸。
docker container kill <container-id>
在Ubuntu(內(nèi)核版本3.10+)下面安裝和啟動Docker烛谊,可以按照如下的步驟進行。
apt update
apt install docker-ce
service docker start
在有必要的情況下嘉汰,可以更換Ubuntu軟件下載源來提升下載速度丹禀,具體的做法請參照https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/。
安裝Docker后鞋怀,由于直接訪問dockerhub下載鏡像會非常緩慢双泪,建議更換國內(nèi)鏡像,可以通過修改/etc/docker/daemon.js
文件來做到密似。
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://registry.docker-cn.com"
]
}
Docker實戰(zhàn)
安裝Nginx
Docker的使用肯定不止上面這點東西焙矛,但是有了這些知識之后,我們已經(jīng)可以開始感受Docker的強大之處残腌。下面我們就基于Docker來搭建HTTP服務(wù)器(Nginx)環(huán)境村斟。
docker container run -d -p 80:80 --rm --name mynginx nginx
說明:上面的參數(shù)
-d
表示容器在后臺運行贫导;-p
是用來映射容器的端口到宿主機的端口;--rm
表示容器停止后自動刪除容器蟆盹,例如通過docker container stop mynginx
以后孩灯,容器就沒有了;--name
是自定義容器的名字逾滥。
如果需要將自己的頁面部署到Nginx上峰档,可以使用容器的拷貝命令將當(dāng)前文件夾下所有的文件和文件夾拷貝到容器的指定目錄中。當(dāng)然也可以從容器中拷貝文件到我們指定的路徑下寨昙。
docker container cp ./index.html mynginx:/usr/local/nginx/html
如果不愿意拷貝文件也可以將文件夾映射到Nginx保存頁面文件的目錄讥巡。
docker container run -d -p 80:80 --rm --name mynginx --volume "$PWD/html":/usr/share/nginx/html nginx
安裝MySQL
下載MySQL鏡像。
docker search mysql
docker pull mysql:5.7
docker images
啟動容器運行MySQL舔哪。
docker run --name mysql-docker -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
在使用MySQL 8.x時可能會遇到“error 2059: Authentication plugin 'caching_sha2_password' cannot be loaded”的問題欢顷,這是因為MySQL 8.x默認使用了名為“caching_sha2_password”的機制對用戶口令進行了更好的保護,但是如果客戶端沒有更新有可能無法基于這種方式進行身份驗證捉蚤,可以按照下面的方式加以解決抬驴。
docker exec -it mysql8-docker /bin/bash
進入容器的交互式Shell之后,可以首先利用MySQL的客戶端工具連接MySQL服務(wù)器外里。
mysql -u root -p
Enter password:
Your MySQL connection id is 16
Server version: 8.0.12 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
接下來通過SQL來修改用戶口令就可以了怎爵。
alter user 'root'@'%' identified with mysql_native_password by '123456' password expire never;
當(dāng)然,如果愿意你也可以查看一下用戶表檢查是否修改成功盅蝗。
use mysql;
select user, host, plugin, authentication_string from user where user='root';
+------+-----------+-----------------------+-------------------------------------------+
| user | host | plugin | authentication_string |
+------+-----------+-----------------------+-------------------------------------------+
| root | % | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | localhost | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+------+-----------+-----------------------+-------------------------------------------+
2 rows in set (0.00 sec)
接下來就已經(jīng)可以訪問你的MySQL服務(wù)器啦鳖链,當(dāng)然遠程連接的時候不要忘了在防火墻上開啟對應(yīng)的端口。