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-server
和redis-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
下載下來是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 ".*" ".*" ".*"
# 新增配置、寫、讀許可權
使用者級別:
- administrator:可以登入控制檯、檢視所有資訊、可以對 rabbitmq 進行管理
- monitoring:監控者 登入控制檯,檢視所有資訊
- policymaker:策略制定者 登入控制檯,指定策略
- 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