本文章是在阿里云Linux CentOS 7.6環(huán)境下安裝和配置基礎(chǔ)軟件(jdk上鞠、nginx际邻、mysql、redis)的過程芍阎,各個(gè)基礎(chǔ)軟件的版本如下所示:
jdk: jdk-8u191-linux-x64
nginx:?nginx-1.14.2
mysql:?mysql-5.7.24-1.el7.x86_64
redis:?redis-5.0.3
注意:不同的操作系統(tǒng)和基礎(chǔ)軟件版本世曾,安裝或配置可能會(huì)存在差異,本文只保證如上所列版本安裝和配置的正確性谴咸。
我在/mnt下掛載了一個(gè)數(shù)據(jù)盤轮听,基礎(chǔ)軟件我都先下載到此目錄后再安裝,如果你沒有此目錄的話岭佳,可以mkdir創(chuàng)建一個(gè)或根據(jù)自己的實(shí)際情況調(diào)整血巍。
1. 安裝jdk
1).?使用root用戶,在/mnt下創(chuàng)建java目錄珊随。
運(yùn)行命令:mkdir /mnt/java
2).?進(jìn)入/mnt/java目錄述寡,下載jdk安裝包。
運(yùn)行命令:wget https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz
3). 在/mnt/java目錄下叶洞,解壓安裝包鲫凶。
運(yùn)行命令:tar -zxvf jdk-8u191-linux-x64.tar.gz
解壓后得到文件jdk1.8.0_191。
4). 在/usr/local目錄下創(chuàng)建java目錄京办。
運(yùn)行命令:mkdir /usr/local/java
5). 將/mnt/java/jdk1.8.0_191移動(dòng)到/usr/local/java目錄下掀序。
運(yùn)行命令:mv /mnt/java/jdk1.8.0_191 /usr/local/java/.
6). 配置JDK環(huán)境變量。
運(yùn)行命令:vi /etc/profile
在文件末尾添加如下內(nèi)容惭婿,并保存:
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
7). 讓配置生效不恭。
運(yùn)行命令:source /etc/profile
8). 查看JDK環(huán)境變量是否配置成功。
運(yùn)行命令:java -version
如果出現(xiàn)java版本信息财饥,則說明JDK環(huán)境變量配置成功换吧。
2. 安裝nginx
1). 使用root用戶,在/mnt下創(chuàng)建nginx目錄钥星。
運(yùn)行命令:mkdir nginx
2). 進(jìn)入/mnt/nginx目錄沾瓦,下載nginx安裝包。
運(yùn)行命令:?wget?http://nginx.org/download/nginx-1.14.2.tar.gz
3). 在/mnt/nginx目錄下谦炒,解壓安裝包贯莺。
運(yùn)行命令:tar -zxvf nginx-1.14.2.tar.gz
解壓后得到文件nginx-1.14.2。
4). 在安裝nginx之前宁改,請確保系統(tǒng)中已經(jīng)安裝過了相關(guān)組件:gcc缕探、openssl、pcre还蹲、zlib爹耗,否則需要先安裝相關(guān)組件耙考。
5).?gcc默認(rèn)是安裝的,可通過命令:gcc -v查看潭兽,如已安裝則跳過此步倦始,否則執(zhí)行如下命令安裝。
運(yùn)行命令:yum install gcc-c++
6). 安裝openssl山卦,如已安裝則跳過此步鞋邑。
運(yùn)行命令: yum -y?install openssl openssl-devel
7). 安裝pcre,如已安裝則跳過此步账蓉。
運(yùn)行命令:yum -y install pcre pcre-devel
8). 安裝zlib炫狱,如已安裝則跳過此步。
運(yùn)行命令:yum -y install zlib zlib-devel
9). 安裝nginx剔猿,進(jìn)入/mnt/nginx/nginx-1.14.2目錄。
運(yùn)行命令:./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module? && make && make install
--prefix nginx的安裝根路徑
--sbin nginx的啟動(dòng)程序路徑
--conf-path nginx的配置路徑
--with-* nginx需要加載的模塊嬉荆,如果需要nginx支持https归敬,則需要加入http_ssl_module模塊
以上配置參數(shù)可根據(jù)自身實(shí)際情況相應(yīng)調(diào)整。
10). 配置nginx環(huán)境變量鄙早。
運(yùn)行命令:vi /etc/profile
在文件末尾添加如下內(nèi)容:
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin
11). 讓配置生效汪茧。
運(yùn)行命令:source /etc/profile
12). 設(shè)置nginx為系統(tǒng)服務(wù)。
在/lib/systemd/system目錄下創(chuàng)建nginx.service文件限番,
運(yùn)行命令:vi /lib/systemd/system/nginx.service
輸入如下內(nèi)容舱污,nginx啟動(dòng)程序路徑根據(jù)自身實(shí)際情況調(diào)整:
[Unit]
Description=nginx service
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
13). 設(shè)置開機(jī)自啟動(dòng)。
運(yùn)行命令:systemctl enable nginx
14). 以后就可使用如下命令弥虐,來管理nginx了:
# systemctl start nginx???????? ??????啟動(dòng)服務(wù)
# systemctl stop nginx????????? ?????停止服務(wù)
# systemctl restart nginx?????? ??????重新啟動(dòng)服務(wù)
# systemctl list-units --type=service??? ?查看所有已啟動(dòng)的服務(wù)
# systemctl status nginx????????? ??????查看服務(wù)當(dāng)前狀態(tài)
# systemctl enable nginx????????? ?????設(shè)置開機(jī)自啟動(dòng)
#systemctl disable nginx???????? ??????停止開機(jī)自啟動(dòng)
3. 安裝mysql
1). 使用root用戶扩灯,在/mnt下創(chuàng)建mysql目錄。
運(yùn)行命令:mkdir mysql
2). 進(jìn)入/mnt/mysql目錄霜瘪,下載mysql安裝包珠插。
運(yùn)行命令:wget?https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar
3). 在/mnt/mysql目錄下,解壓安裝包颖对。
運(yùn)行命令:tar?-xvf mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar
解壓后會(huì)得到多個(gè)rpm包捻撑,這里我只安裝mysql server,但它需要依賴其它幾個(gè)包缤底,依賴關(guān)系如下:
mysql-community-common-5.7.24-1.el7.x86_64.rpm??
mysql-community-libs-5.7.24-1.el7.x86_64.rpm?????????????--(依賴于common)??
mysql-community-client-5.7.24-1.el7.x86_64.rpm??????????--(依賴于libs)??
mysql-community-server-5.7.24-1.el7.x86_64.rpm?????????--(依賴于client顾患、common)?
4). 安裝mysql server,依次運(yùn)行如下命令个唧,順序不能顛倒:
rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.24-1.el7.x86_64.rpm
rpm -ivh?mysql-community-server-5.7.24-1.el7.x86_64.rpm
我在安裝過程中出現(xiàn)了兩個(gè)錯(cuò)誤江解,如果你也有出現(xiàn)同樣錯(cuò)誤,可按照如下方法解決坑鱼,否則跳過此節(jié)膘流。
錯(cuò)誤一如下:
請先卸載mariadb-libs-1:5.5.60-1.el7_5.x86_64(還可通過命令rpm
-qa | grep mariadb查看安裝了mariadb哪些包絮缅,也可一起卸載掉)。
運(yùn)行命令: rpm -e mariadb-libs-1:5.5.60-1.el7_5.x86_64?--nodeps
錯(cuò)誤二如下:
請先安裝libaio依賴包呼股。
運(yùn)行命令:yum install libaio.x86_64
5). 初始化mysql耕魄,有兩種方式可選擇,此處我選擇方式一彭谁。
運(yùn)行命令:
#方式一:mysql的root用戶創(chuàng)建隨機(jī)密碼
mysqld --initialize --user=mysql
# 方式二:不為mysql的root用戶創(chuàng)建密碼
mysqld --initialize-insecure --user=mysql
如果當(dāng)前用戶是root吸奴,且沒有創(chuàng)建mysql用戶則需要帶--user參數(shù),且值為mysql缠局。如果當(dāng)前用戶是mysql则奥,則可不帶--user參數(shù)。
按方式一執(zhí)行后狭园,會(huì)在/var/log/mysqld.log文件里生成隨機(jī)密碼读处,此處為:Kp.Qsu3aXWRI,如下所示:
6). 設(shè)置開機(jī)啟動(dòng)唱矛。
運(yùn)行命令: systemctl enable mysqld
以后就可以使用如下命令罚舱,來啟停mysql了:
# systemctl start mysqld???????????? ?啟動(dòng)服務(wù)
# systemctl stop mysqld??????????????? 停止服務(wù)
# systemctl restart mysqld????????????? 重新啟動(dòng)服務(wù)
# systemctl list-units --type=service???? 查看所有已啟動(dòng)的服務(wù)
# systemctl status mysqld????????????? 查看服務(wù)當(dāng)前狀態(tài)
# systemctl enable mysqld???????????? 設(shè)置開機(jī)自啟動(dòng)
#systemctl disable mysqld???? ????????停止開機(jī)自啟動(dòng)
7). 啟動(dòng)mysql。
運(yùn)行命令:systemctl start mysqld
8). 登錄mysql绎谦。
運(yùn)行命令:mysql -uroot -p
輸入剛才生成的密碼管闷。
9). 登錄之后,修改root用戶密碼(否則有些命令執(zhí)行不了窃肠,需要修改密碼后才能執(zhí)行)包个。
運(yùn)行命令:alter user 'root'@'localhost' identified by '密碼';
如果要root用戶在任何機(jī)器都可連接mysql,需要將localhost改為%冤留。
10). 創(chuàng)建數(shù)據(jù)庫碧囊。
運(yùn)行命令:create database 數(shù)據(jù)庫名 default charset utf8 collate?utf8_general_ci;
11). 創(chuàng)建用戶。
運(yùn)行命令:create user '用戶名'@'%' identified by '密碼';
查看用戶命令:select user,host from mysql.user;
12). 為用戶分配某個(gè)數(shù)據(jù)庫的權(quán)限纤怒。
運(yùn)行命令:grant all privileges on 數(shù)據(jù)庫名.* to '用戶名'@'%' with grant option;
13). 刷新權(quán)限呕臂。
運(yùn)行命令:flush privileges;
查看用戶權(quán)限命令: show grants for 用戶名;
14). 設(shè)置表名不區(qū)分大小寫。
運(yùn)行命令: show variables like?"%case%";
如果lower_case_file_system=OFF肪跋,則需要修改lower_case_table_names=1歧蒋,修改/etc/my.cnf文件。
在操作系統(tǒng)命令行下州既,執(zhí)行:vi /etc/my.cnf
在[mysqld]節(jié)點(diǎn)最后添加如下一行: lower_case_table_names=1
最后重啟mysql服務(wù)谜洽,讓設(shè)置生效,運(yùn)行命令:systemctl restart mysqld
4. 安裝redis
1). 使用root用戶吴叶,在/mnt下創(chuàng)建redis目錄阐虚。
運(yùn)行命令:mkdir redis
2). 進(jìn)入/mnt/redis目錄,下載redis安裝包蚌卤。
運(yùn)行命令:wget?http://download.redis.io/releases/redis-5.0.3.tar.gz
3). 在/mnt/redis目錄下实束,解壓安裝包奥秆。
運(yùn)行命令:tar?-zxvf redis-5.0.3.tar.gz
解壓后得到文件redis-5.0.3。
4). 進(jìn)入redis-5.0.3目錄, 編譯redis咸灿。
運(yùn)行命令:make
5). 編譯成功后构订,在/usr/local目錄下創(chuàng)建redis目錄。
運(yùn)行命令:mkdir /usr/local/redis
6). 將/mnt/redis/redis-5.0.3移動(dòng)到/usr/local/redis目錄下避矢。
運(yùn)行命令:mv /mnt/redis/redis-5.0.3 /usr/local/redis/.
7). 配置redis悼瘾。
運(yùn)行命令:vi?/usr/local/redis/redis-5.0.3/redis.conf
修改daemonize屬性的值為:yes? ? ? ? ? ? ?#設(shè)置redis為后臺(tái)啟動(dòng)
修改requirepass屬性的值為:密碼? ? ? ? ? #設(shè)置redis的連接密碼
修改bind屬性的值為:0.0.0.0? ? ? ? ? ? ? ? ? #設(shè)置redis服務(wù)綁定的ip,默認(rèn)127.0.0.1审胸,只能本機(jī)連接亥宿,0.0.0.0表示任何地址都可連接
8). 配置redis環(huán)境變量。
運(yùn)行命令:vi /etc/profile
在文件末尾添加如下內(nèi)容:
export REDIS_HOME=/usr/local/redis/redis-5.0.3
export PATH=$PATH:$REDIS_HOME/src
9). 讓配置生效砂沛。
運(yùn)行命令:source /etc/profile
10). 設(shè)置redis為系統(tǒng)服務(wù)烫扼。
在/lib/systemd/system目錄下創(chuàng)建redis.service文件,
運(yùn)行命令:vi /lib/systemd/system/redis.service
輸入如下內(nèi)容碍庵,redis啟動(dòng)程序和配置路徑根據(jù)自身實(shí)際情況調(diào)整:
[Unit]
Description=RedisIn-Memory Data Store
After=network.target
[Service]
ExecStart=/usr/local/redis/redis-5.0.3/src/redis-server /usr/local/redis/redis-5.0.3/redis.conf? --daemonize no
ExecStop=/usr/local/redis/redis-5.0.3/src/redis-cli shutdown
[Install]
WantedBy=multi-user.target
11). 加入開機(jī)自啟動(dòng)材蛛。
運(yùn)行命令:systemctl enable redis
以后就可使用如下命令,來啟停redis了:
# systemctl start redis?????????????? 啟動(dòng)服務(wù)
# systemctl stop redis?????????????? 停止服務(wù)
# systemctl restart redis???????????? 重新啟動(dòng)服務(wù)
# systemctl list-units --type=service???? 查看所有已啟動(dòng)的服務(wù)
# systemctl status redis??????????????? 查看服務(wù)當(dāng)前狀態(tài)
# systemctl enable redis?????????????? 設(shè)置開機(jī)自啟動(dòng)
#systemctl disable redis?????????????? 停止開機(jī)自啟動(dòng)
您的贊賞是我繼續(xù)寫作的最大動(dòng)力T跖住!芽淡!