linux開發環境搭建

強力推薦

java 架構視頻 
java 視頻

linux環境搭建


包含內容:

  • linux安裝
  • 常用命令
  • Docker安裝配置
  • mysql_percona安裝
  • percona PMM 監控
  • redis安裝
  • active MQ安裝
  • tomcat7 安裝
  • zookeeper 安裝

linux 安裝介紹

工具

http://mirrors.cn99.com/centos/7/isos/x86_64/

image

image

項目 描述
Centos 版本 http://mirrors.cn99.com/centos/7/isos/x86_64/
Vm 版本 12
客戶端 Xshell 5
虛擬機安裝路徑 虛擬機安裝路徑
登錄帳號 nick
密碼 123456
ip 192.168.14.128

參考文檔

項目 描述
在Centos7上安裝 Percona 5.7 http://blog.csdn.net/wylfengyujiancheng/article/details/51334875
percona5.7 源碼安裝 http://www.cnblogs.com/chenmh/p/5738209.html

常用命令

基礎命令

項目 描述
查看ip Ifconfig -a
Centos的yum源更換爲國內的阿里雲源  
Vi 查找 命令模式下輸入「/字符串」,例如「/Section 3」。
查看監聽端口 # netstat -lntp

配置靜態ip

# cd /etc/sysconfig/network-scripts
# vi ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
HWADDR="00:0C:29:F2:0F:56"
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.188
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
# cd /etc/udev/rules.d/
# rm -f 70-persistent-ipoib.rules
# systemctl stop NetworkManager
# systemctl disable NetworkManager
重新啓動網絡:
# systemctl start network.service

安裝percona

下載地址

安裝數據庫源

#  yum install http://www.percona.com/downloads/percona-release/
redhat/0.1-3/percona-release-0.1-3.noarch.rpm

https://www.percona.com/downloads/percona-release/redhat/

安裝Percona 5.7

查看默認啓動的服務

# systemctl list-unit-files|grep enabled

查看監聽端口

# netstat -lntp

啓動數據庫並設置開機啓動

# service mysqld restart 
#systemctl start  mysqld.service

獲取默認密碼

# cat /var/log/mysqld.log  | grep "A temporary password" | awk -F " " '{print$11}'

訪問mysql

mysql -uroot -pQzc%ooeze8.u

Percona 5.7安裝完默認會產生個隨機的密碼,存在日誌中。

設置密碼

SET PASSWORD = PASSWORD('密碼');

授予root遠程連接權限

默認root只運行本地訪問
use mysql
select user,host from user where user='root';
授予root遠程連接權限,生產環境慎用
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION;

CentOS 7.0默認使用的是firewall作爲防火牆,這裏改爲iptables防火牆。

1、關閉firewall:

systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl mask firewalld.service

2、安裝iptables防火牆

yum install iptables-services -y

3.啓動設置防火牆

# systemctl enable iptables
# systemctl start iptables

4.查看防火牆狀態

systemctl status iptables

5編輯防火牆,增加端口

vi /etc/sysconfig/iptables #編輯防火牆配置文件
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
:wq! #保存退出

3.重啓配置,重啓系統

systemctl restart iptables.service #重啓防火牆使配置生效
systemctl enable iptables.service #設置防火牆開機啓動

Docker安裝

Docker參考文檔

從入門到實踐

CentOS 7.2部署Percona Monitoring and Management

配置 Docker 加速器

Docker 容器使用

查看Docker的底層信息

  • docker inspect 07cb215742fd 停止應用容器
  • docker stop 07cb215742fd

查找鏡像

高效應用開發

雲茜社區

Docker常用命令

配置 Docker CE

卸載舊版本

$ sudo yum remove docker \
                  docker-common \
                  docker-selinux \
                  docker-engine

執行以下命令安裝依賴包:

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

國內源

$ sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

如果需要最新版本的 Docker CE 請使用以下命令:

$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test

安裝 Docker CE

> 更新 yum 軟件源緩存,並安裝 docker-ce。

$ sudo yum makecache fast
$ sudo yum install docker-ce

使用腳本自動安裝

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
執行這個命令後,腳本就會自動的將一切準備工作做好,並且把 Docker CE 的 edge 版本安裝在系統中。

啓動 Docker CE

$ sudo systemctl enable docker
$ sudo systemctl start docker
  • 建立 docker 用戶組
默認情況下,docker 命令會使用 Unix socket 與 Docker 引擎通訊。而只有 root 用戶和 docker 組的用戶纔可以訪問 Docker 引擎的 Unix socket。出於安全考慮,一般 Linux 系統上不會直接使用 root 用戶。因此,更好地做法是將需要使用 docker 的用戶加入 docker 用戶組。

建立 docker 組:

$ sudo groupadd docker
將當前用戶加入 docker 組:

$ sudo usermod -aG docker $USER

鏡像加速

對於使用 systemd 的系統,用 systemctl enable docker 啓用服務後,編輯 /etc/systemd/system/multi-user.target.wants/docker.service 文件,找到 ExecStart= 這一行,在這行最後添加加速器地址 --registry-mirror=<加速器地址>,如:

ExecStart=/usr/bin/dockerd --registry-mirror=https://jxus37ad.mirror.aliyuncs.com
注:對於 1.12 以前的版本,dockerd 換成 docker daemon。

重新加載配置並且重新啓動。

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

信息版本

# docker version

查看信息

# docker info

查看我們正在運行的容器

# docker ps -a

查看映射端口

docker port pmm-server

查看應用進程日誌

docker logs -f pmm-server

查看應用進程

docker top pmm-server

重啓

docker start pmm-server

停止

docker stop pmm-server

我們可以使用 docker rm 命令來刪除不需要的容器

docker rm pmm-server

列出鏡像列表

docker images

REPOSTITORY:表示鏡像的倉庫源
TAG:鏡像的標籤
IMAGE ID:鏡像ID
CREATED:鏡像創建時間
SIZE:鏡像大小

查詢出Pid

docker inspect --format "{{ .State.Pid}}" <container-id>

然後通過得到的Pid執行

nsenter --target 6537 --mount --uts --ipc --net --pid

輸出日誌

Docker logs –f container

進入具體的容器

Docker exec –it container /bin/bash

退出容器

exit

安裝percona PMM 監控

MySQL性能監控軟件:慢查詢分析利器

Percona監控工具初探

配置

安裝

#docker pull percona/pmm-server:1.1.3

創建PMM 數據容器

docker create \
 -v /opt/prometheus/data \
 -v /opt/consul-data \
 -v /var/lib/mysql \
 -v /var/lib/grafana \
 --name pmm-data \
 percona/pmm-server:1.1.3 /bin/true

運行PMM server容器

docker run -d \
 -p 80:80 \
 --volumes-from pmm-data \
 --name pmm-server \
 --restart always \
 percona/pmm-server:1.1.3

參數說明

docker: Docker 的二進制執行文件。
run:與前面的 docker 組合來運行一個容器。
-d:讓容器在後臺運行。
-P:將容器內部使用的網絡端口映射到我們使用的主機上。
percona/pmm-server:1.1.3指定要運行的鏡像,Docker首先從本地主機上查找鏡像是否存在,如果不存在,Docker 就會從鏡像倉庫 Docker Hub 下載公共鏡像。

安裝PMM客戶端

sudo yum install pmm-client

pmm-admin config --server 127.0.0.1

配置MySQL監控:

sudo pmm-admin add mysql --user root --password [email protected] --host 127.0.0.1 --port 3306

PMM Landing page

http://192.168.1.188/

Query AnalytiCs(QAN web app)

http://192.168.1.188/qan/
http://192.168.1.188/graph/

Metrics Manitor(Grafana)

User name: admin
Password:admin

Orchestrator

http://192.168.1.188/orchestrator

安裝redis

文檔

docker安裝redis 指定配置文件且設置了密碼

Redis 社區

Redis conf 配置詳解

Redis config 配置

daemonize no

  • 默認情況下,redis 不是在後臺運行的,如果需要在後臺運行,把該項的值更改爲yes。

pidfile /var/run/redis.pid

  • 當Redis 在後臺運行的時候,Redis 默認會把pid 文件放在/var/run/redis.pid,你可以配置到其他地址。當運行多個redis 服務時,需要指定不同的pid 文件和端口

port

  • 監聽端口,默認爲6379

#bind 127.0.0.1

  • 指定Redis 只接收來自於該IP 地址的請求,如果不進行設置,那麼將處理所有請求,在生產環境中爲了安全最好設置該項。默認註釋掉,不開啓

配置

獲取最新redis鏡像

  • docker pull redis:latest

創建目錄

mkdir /data
mkdir /etc/redis

啓動redis

第一種方式.
sudo docker run -t -i redis:latest
-i:標準輸入給容器    -t:分配一個虛擬終端
第二種.後臺運行
docker run --name redis4.0.1 -p 7001:6379 -d redis:latest redis-server --appendonly yes
第三種方式:
docker run -p 7001:6379 --name redis4.0.1 \
 --restart always \
 -v $PWD/redis.conf:/etc/redis/redis.conf -v $PWD/data:/data -d \
 redis:latest redis-server /etc/redis/redis.conf --appendonly yes

進入容器

PID=$(docker inspect --format "{{ .State.Pid }}" <container>)
nsenter --target $PID --mount --uts --ipc --net --pid

redis-cli就可以連上redis了

Redis-cli

輸出日誌

Docker logs –f container

安裝active MQ

文檔

ActiveMQ此例簡單介紹基於docker的activemq安裝與集羣搭建

後臺訪問

配置

下載

docker pull webcenter/activemq

配置

docker run --name activemq -p 61616:61616 -p 8161:8161 -e ACTIVEMQ_ADMIN_LOGIN=admin -e ACTIVEMQ_ADMIN_PASSWORD=123 --restart=always -d webcenter/activemq

安裝tomcat 7

Docker 倉庫搜索

  • docker search tomcat

拉取Docker Hub裏的鏡像

  • docker pull tomcat:8
  • 運行我們的web應用.假設我們應用是www,目錄位置在/app/deploy/shjtweb
#docker run --privileged=true --name shjtweb --restart always -v /app/deploy/shjtweb:/usr/local/tomcat/webapps/ROOT  -d -p 8080:8080 tomcat:8

解壓

  • unzip jtiism-uwp-web.rar

停止容器

# 停止一個容器
docker stop shjtweb

啓動容器

# 停止一個容器
docker start shjtweb

安裝zookeeper

Docker 倉庫搜索

https://hub.docker.com/explore/