1. 程式人生 > 其它 >Linux部署環境手冊

Linux部署環境手冊

1.redis

1.1、解壓

tar -zxvf redis-6.2.4.tar.gz

1.2、編譯

# 進入 redis解壓後的目錄
cd  /myapp/software/redis-6.2.4/
# 編譯
make

1.3、編譯完成後進行安裝

make install

之後進入 /usr/local/bin目錄下可以看到 redis-serverredis-cli 等 檔案,

如下所示:

redis-server:Redis伺服器端啟動程式
redis-cli:Redis客戶端操作工具。也可以用telnet根據其純文字協議來操作
redis-benchmark:Redis效能測試工具
redis-check-aof:資料修復工具
redis-check-rdb:檢查匯出工具

1.4、開啟redis-server 服務

# 2. 進入 /usr/local/bin 目錄下,執行下面命令啟動
redis-server 
# 3. 開啟redis 客戶端
redis-cli

1.6、修改配置檔案 redis.conf

1.7、修改密碼

# 進入redis的安裝目錄,
cd /myapp/software/redis-6.2.4
# 編輯redis.conf 檔案
vim redis.conf
# 修改requirepass 
requirepass 123456

1.8、修改ip繫結

把有時需要別人連線我們的redis,這時需要我們修改redis.conf檔案,配置ip繫結。ctrl+f查詢“bind”,兩種修改方式,修改成“bind 0.0.0.0”或者註釋掉,這裡我直接註釋掉了。

#註釋掉即可
#bind 127.0.0.1

1.9、預設為保護模式即可,防止被攻擊

appendonly yes

1.10、修改防止資料丟失

# 1.取消之前的註釋(開啟快照(按照一定的時間間隔執行持久化))
save 120 1
save 300 100
save 60 10000
# 2.開啟AOF
appendonly yes

開啟作用: 快照不是很持久。如果您執行Redis的計算機停止執行,您的電源線發生故障,或者您不小心kill -9您的例項,Redis上寫入的最新資料將丟失。雖然這對於某些應用程式來說可能不是什麼大問題,但存在完全永續性的用例,在這些情況下,Redis 不是一個可行的選擇。

只追加檔案

是Redis的選擇,完全耐用的策略。它在 1.1 版中可用。

您可以在配置檔案redis.conf中開啟 AOF:

1.11、讓持久化可以生效

# 編輯這個檔案
vim /etc/sysctl.conf

# 在檔案最後新增 一句話
vm.overcommit_memory=1

# 讓設定立即生效
sysctl -p 

1.12、讓redis按照配置啟動

(讓redis 按照配置的redis.conf啟動)

# 進入根目錄下
cd /
# 執行
/usr/local/bin/redis-server /myapp/software/redis-6.2.4/redis.conf 

注意:

第一次啟動redis服務在哪個目錄,下次還在哪個目錄下面啟動,就不會出現資料丟失的問題(除非設定預設地址)

2、mysql

2.1、先安裝yum ,

否則安裝下面的wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 就會報錯

yum -y install wget

2.2、獲取mysql社群版

下載 yum上mysql的資源有問題,所以不能僅僅之用yum。在使用yum之前還需要用其他命令獲取mysql社群版

cd /tmp
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm  
rpm -ivh mysql-community-release-el7-5.noarch.rpm 

2.3、通過yum進行安裝

yum install mysql mysql-server mysql-devel -y

2.4、啟動

以上只是安裝,執行如下命令才能啟動mysql伺服器:

systemctl start mysql.service

2.5、驗證

安裝後會自動啟動,啟動後會佔用3306埠。 使用如下命令檢視3306埠是否啟動,如果啟動了則表示mysql處於執行狀態。

netstat -anp|grep 3306

2.6、Linux建立密碼並登入

通過Yum安裝的mysql的管理員賬戶是沒有密碼的,這裡通過命令設定其密碼為 123456 ,儘量使用這個密碼哦

mysqladmin -u root password 123456

注: Warning資訊並非提示設定失敗,而是告訴大家密碼露出來了,當心背後有人~

22

2.7、登入驗證

使用如下命令登陸

mysql -uroot -p123456

登入成功後輸入

show databases;

2.8、mysql常用命令

# 1、使用mysql 資料庫
use mysql
# 2. 使root 使用者 可以再任何host 訪問
update user set host = '%' where user = 'root';
# 3. 重新整理,讓修改生效 
FLUSH PRIVILEGES; 

3、nginx

3.1、安裝依賴包

#一鍵安裝上面四個依賴
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

3.2、下載並解壓安裝包

# 1. 建立一個指定的資料夾用於存放nginx的安裝包
/myapp/software/nginx

# 2. 進入nginx資料夾中
cd /myapp/software/nginx

# 3. 下載nginx
wget http://nginx.org/download/nginx-1.13.7.tar.gz

# 4. 解壓到當前資料夾
tar -zxvf nginx-1.13.7.tar.gz

3.3、安裝nginx

# 1. 進入 /myapp/software/nginx/nginx-1.13.7   目錄
cd /myapp/software/nginx/nginx-1.13.7
# 2. 執行命令
./configure
# 3. 執行make 命令進行編譯nginx
make
# 4. 執行make install	命令進行安裝
make install

3.4、配置nginx.conf

# 編寫/usr/local/nginx/conf 目錄下的檔案nginx.conf 檔案
vim /usr/local/nginx/conf/nginx.conf

# 2.修改server的監聽listen  和 server_name 2個屬性(這裡監聽的埠為 8089  服務的地址為: 192.168.83.129)
server {
        listen       8089;
        server_name  192.168.83.129;

        #charset koi8-r;

3.5、啟動nginx

/usr/local/nginx/sbin/nginx -s reload

如果出現報錯:nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed

則執行: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

再次啟動即可!

3.6、檢視nginx 是否啟動:

ps -ef|grep nginx

如下所示:

root      32665  43113  0 21:22 pts/5    00:00:00 grep --color=auto nginx
root      81997      1  0 21:01 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody    81998  81997  0 21:01 ?        00:00:00 nginx: worker process

記得開啟防火牆,開啟80埠

#檢視所有開啟的埠:
firewall-cmd --zone=public --list-ports

#新增80埠 (--permanent永久生效,沒有此引數重啟後失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent   

#重新載入
firewall-cmd --reload

3.5、安裝完成後常用命令

啟動 關閉 重啟

nginx操作命令前提條件,必須進入nginx的安裝目錄

# 進入nginx 的安裝目錄
cd /usr/local/nginx/sbin

# 啟動
./nginx
#關閉
./nginx -s stop
#重啟
./nginx -s reload

# 檢視是否啟動
ps -ef|grep nginx

4、開放埠號

80(nginx),3306(mysql),6379(redis)

# 80(nginx),3306(mysql),6379(redis),
firewall-cmd --zone=public --add-port=80/tcp --permanent   
firewall-cmd --zone=public --add-port=3306/tcp --permanent 
firewall-cmd --zone=public --add-port=6379/tcp --permanent 
#8090(halo部落格)
firewall-cmd --zone=public --add-port=8090/tcp --permanent 
#8083 (檢視伺服器上面的圖片)
firewall-cmd --zone=public --add-port=8083/tcp --permanent
#15672 (rabbitmq)
firewall-cmd --zone=public --add-port=15672/tcp --permanent
# 讓配置生效
firewall-cmd --reload
# 檢視可以使用的埠號
firewall-cmd --zone=public --list-ports

5、安裝jdk

# 安裝jdk8
yum install java-1.8.0-openjdk* -y
# 安裝jdk11
yum install java-11-openjdk -y

5.1、普通方式安裝

參考: https://www.cnblogs.com/ysocean/p/6952166.html

進入 cd /myapp/software/

cd /myapp/software/

解壓jdk

tar -zxvf jdk-8u291-linux-x64.tar.gz 

使用 vim 命令開啟 /etc/profile 檔案

vim /etc/profile

輸入 字母 i 進入可編輯狀態, 然後把 下面的複製到 /etc/profile 檔案的最後

# set java environment
JAVA_HOME=/myapp/software/jdk1.8.0_291
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

退出: 先 點選 左上角ESC 然後輸入 :wq! (儲存退出)

不儲存退出命令: :q! 不儲存退出

使設定生效

# 使配置立即生效
source /etc/profile

5.2、第二種方式: 使用yun 安裝

# 安裝jdk8
yum install java-1.8.0-openjdk* -y
# 安裝jdk11
yum install java-11-openjdk -y

6、安裝rabbitmq

cd /usr/local/src/  
mkdir rabbitmq  
cd rabbitmq  

#1.下載rpm,如果下載速度慢可以本地下載上傳Linux中也可  
wget https://packages.erlang-solutions.com/erlang/esl-erlang/FLAVOUR_1_general/esl-erlang_19.3-1~centos~6_i386.rpm  
#2.匯入公鑰
rpm –import http://packages.erlang-solutions.com/rpm/erlang_solutions.asc  
#3.安裝自動更新依賴(不建議使用rpm安裝)  
yum install esl-erlang_19.3-1~centos~6_i386.rpm 
#4.驗證是否安裝成功
erl 

5.1、下載

https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-21.3.8.21-1.el7.x86_64.rpm

https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.8-1.el7.noarch.rpm

下載下來是2個檔案,如下所示:

上傳到 /myapp/software/rabbitmq檔案下面

5.2、安裝

#進入到 /myapp/software/rabbitmq 路徑
cd /myapp/software/rabbitmq
# 1.安裝 erlang環境(rabbitmq依賴於erlang)
rpm -ivh erlang-21.3.8.21-1.el7.x86_64.rpm
# 2.安裝 socat
yum install socat -y
# 2.安裝
rpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm

5.3、啟動:

systemctl start rabbitmq-server

執行完上面的之後,可能會出現下面的問題

Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.

報錯資訊

5.3.1、啟動時的問題解決方案

先檢查防火牆埠號是否啟動 15672

firewall-cmd --zone=public --add-port=15672/tcp --permanent
# 讓配置生效
firewall-cmd --reload
# 檢視可以使用的埠號
firewall-cmd --zone=public --list-ports

1⃣️使用命令journalctl -xe,定位到詳細的報錯日誌資訊;

或者是下面的問題:

2⃣️關掉SELINUX: 輸入命令:vi /etc/selinux/config

修改 SELINUX=disabled

3⃣️編輯:vi /etc/rabbitmq/rabbitmq-env.conf 新增一行

NODENAME=rabbit@localhost

4⃣️再次啟動 service rabbitmq-server start

5.4、常用命令

# 啟動服務
systemctl start rabbitmq-server
# 檢視服務狀態
systemctl status rabbitmq-server
# 開機自啟動
systemctl enable rabbitmq-server
# 停止服務
systemctl stop rabbitmq-server
# 重啟服務
systemctl restart rabbitmq-server

5.5、Web管理介面及授權操作

5.5.1、安裝

(預設情況下,是沒有安裝web端的客戶端外掛,需要安裝才可以生效)

rabbitmq-plugins enable rabbitmq_management

5.5.2、安裝完畢以後,重啟服務即可

systemctl restart rabbitmq-server

5.5.3、訪問出現的問題解決

訪問 http://192.168.83.131:15672 ,用預設賬號密碼(guest)登入,出現許可權問題

預設情況只能在 localhost 本機下訪問,所以需要新增一個遠端登入的使用者

新增使用者

# 建立賬號和密碼
rabbitmqctl add_user admin 123456

# 設定使用者角色
rabbitmqctl set_user_tags admin administrator

# 為使用者新增資源許可權
# set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
# 新增配置、寫、讀許可權

使用者級別:

  1. administrator:可以登入控制檯、檢視所有資訊、可以對 rabbitmq 進行管理
  2. monitoring:監控者 登入控制檯,檢視所有資訊
  3. policymaker:策略制定者 登入控制檯,指定策略
  4. managment:普通管理員 登入控制檯

再次登入,用 admin 使用者

5.6、重置命令

#關閉應用的命令為
rabbitmqctl stop_app
#清除的命令為
rabbitmqctl reset
#重新啟動命令為
rabbitmqctl start_app

5.7、docker 安裝

docker run -id --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 -p 15672:15672 rabbitmq:3-management