您好,登錄后才能下訂單哦!
這篇文章主要介紹CentOS 7如何搭建基礎Java開發環境JDK, Maven, Tomcat, MySQL,Redis,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
一、搭建JDK環境
通常情況下CentOS 7自帶的JDK為OpenJDK,不同于Oracel SUN JDK,為了與在PC上保持相同的JDK配置方式及使用習慣,可替換為Oracle SUN JDK。
(1)卸載OpenJDK
先通過命令查詢Java相關的現有安裝:
rpm -qa | grep java
結果如下:
python-javapackages-3.4.1-11.el7.noarch java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64 tzdata-java-2018e-3.el7.noarch javapackages-tools-3.4.1-11.el7.noarch java-1.8.0-openjdk-headless-1.8.0.171-8.b10.el7_5.x86_64 通過rpm -e xx(xx為上述包)逐個卸載,并再次查看發現已經下載干凈,操作過程如下: [root@centos jvm]# rpm -e java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64 [root@centos jvm]# rpm -e java-1.8.0-openjdk-headless-1.8.0.171-8.b10.el7_5.x86_64 [root@centos jvm]# rpm -e tzdata-java-2018e-3.el7.noarch [root@centos jvm]# rpm -e javapackages-tools-3.4.1-11.el7.noarch [root@centos jvm]# rpm -e python-javapackages-3.4.1-11.el7.noarch [root@centos jvm]# rpm -qa |grep java [root@centos jvm]# java -version bash: /usr/bin/java: No such file or directory
(2)下載Oracle SUN JDK
到Oracle網站下載JDK(https://www.oracle.com/technetwork/java/javase/downloads/index.html),對CentOS 7選擇相應版本的RPM安裝包即可;
例如:jdk-8u171-linux-x64.rpm
(3)安裝Oracle SUN JDK
root權限下,將下載后的版本通過rpm命令安裝即可,命令示例:
rpm -ivh jdk-8u171-linux-x64.rpm
(4)驗證安裝
輸入命令java -version即可,另外可通過ls /usr/java查看默認安裝路徑下的java安裝版本,操作過程如下:
[root@centos_vm2 tools]# java -version java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode) [root@centos_vm2 tools]# ls /usr/java default jdk1.8.0_171-amd64 latest
(5)修改環境變量配置文件
在/etc/profile文件中添加如下幾行:
#java environment export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64 export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar export PATH=$PATH:${JAVA_HOME}/bin
后執行source /etc/profile命令使得配置生效;在其他某些Linux環境(例如Deepin)下可以通過修改/etc/bash.bashrc實現同樣的效果;
二、搭建Maven開發環境
(1)下載Maven安裝包
到apache網站下載maven(http://maven.apache.org/download.cgi) ,選擇所需版本并下載
(2)安裝Maven
建議安裝目錄:/usr/local/maven/,需root權限下先創建好該目錄:
mkdir /usr/local/maven
先將下載的安裝包解壓的某個目錄(筆者的安裝包、安裝包解壓均在/var/ftp/tools/目錄下):
tar -zxvf apache-maven-3.5.4-bin.tar.gz
然后復制目錄到安裝目錄:
cp -r apache-maven-3.5.4/* /usr/local/maven/
之后可查看安裝目錄下的文件、目錄列表:
[root@centos_vm2 tools]# ls /usr/local/maven bin boot conf lib LICENSE NOTICE README.txt
(3)修改環境變量配置文件:
在/etc/profile文件中添加環境變量MAVEN_HOME,并添加到PATH中,結合上面JAVA環境變量引起的變更,合計如下:
#java environment export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64 export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar export MAVEN_HOME=/usr/local/maven export PATH=$PATH:${JAVA_HOME}/bin:${MAVEN_HOME}/bin
執行如下命令使得配置文件生效
source /etc/profile
(4)驗證安裝
執行mvn -v查看版本,執行echo $MAVEN_HOME查看環境變量,過程如下:
[root@centos tools]# mvn -v Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00) Maven home: /usr/local/maven Java version: 1.8.0_171, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8.0_171-amd64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-693.el7.x86_64", arch: "amd64", family: "unix" [root@centos tools]# echo $MAVEN_HOME /usr/local/maven
三、搭建Tomcat環境
(1)下載Tomcat安裝包
到apache網站下載Tomcat(http://tomcat.apache.org/) ,選擇所需版本并下載
(2)安裝Tomcat
建議安裝目錄/usr/local/tomcat,解壓壓縮包:
tar -zxvf apache-tomcat-9.0.10.tar.gz
之后將解壓后的目錄復制到/usr/local/tomcat,操作過程如下:
[root@centos usr]# su root [root@centos usr]# cd /usr/local [root@centos local]# mkdir tomcat [root@centos local]# cd /var/ftp/tools [root@centos tools]# cp -r apache-tomcat-9.0.10/* /usr/local/tomcat/
(3)開放Tomcat的8080服務端口
執行如下命令開放8080端口:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
上述命令中的參數含義:
--zone #作用域
--add-port=8080/tcp #添加端口,格式為:端口/通訊協議
--permanent #永久生效,沒有此參數重啟后失效
然后重啟防火墻:
firewall-cmd --reload
之后在/usr/local/tomcat/bin下,如需啟動Tomcat服務則執行
./startup.sh
如需停止Tomcat服務則執行:
./shutdown.sh
四、將Tomcat服務化(可選步驟)
將Tomcat服務化管理在許多時候比較方便,通常包含如下幾個步驟:
(1)設置環境變量、用戶及組:
環境變量可以通過/etc/profile設置,也可以通過在tomcat/bin/setenv.sh進行設置:
例如,在/etc/profile中設置相關路徑:
export CLASS_PATH=.:$JAVA_HOME/lib export CATALINA_HOME=/usr/local/tomcat export CATALINA_BASE=/usr/local/tomcat export PATH=$PATH:${JAVA_HOME}/bin:${CATALINA_HOME}/bin
然后通過/usr/local/tomcat/bin/setenv.sh 設置運行參數,文件內容如下:
#add tomcat pid CATALINA_PID="$CATALINA_BASE/tomcat.pid" #add java opts JAVA_OPTS="-server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
可配置tomcat服務運行時的用戶及組,并賦予相應的權限:
[root@snails ~]# getent group tomcat || groupadd -r tomcat [root@snails ~]# getent passwd tomcat || useradd -r -d /opt -s /bin/nologin -g tomcat tomcat [root@snails ~]# chown -R tomcat:tomcat /usr/local/tomcat [root@snails ~]# chmod a+rwx -R /usr/local/tomcat/logs
上述命令getent用于查詢,如果沒有查詢到則執行||之后的命令;groupadd或者useradd之后的參數-r表示的是系統群組、系統用戶;useradd之后的參數-s /bin/nologin表示該用戶無法直接登錄,只用于系統作業使用;
注:本部分來源參考自:https://www.jianshu.com/p/29ecd624046f
(1)服務描述文件:
用service或systemctl管理服務的時候,需先在服務管理目錄(即/usr/lib/systemd/system目錄,或者/lib/systemd/system目錄,后者是前者的軟連接)創建一個腳本文件,
vim /usr/lib/systemd/system/tomcat.service
來管理服務的啟動和停止,內容示例如下:
[Unit] Description=Apache Tomcat 9 After=network.target [Service] Type=forking PIDFile=/usr/local/tomcat/tomcat.pid ExecStart=/usr/local/tomcat/bin/startup.sh ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true User=tomcat Group=tomcat [Install] WantedBy=multi-user.target
上述內容中的參數說明如下:
[Unit]:服務的說明
Description:描述服務
Documentation (可選):服務文檔
After:描述服務類別
[Service]服務運行參數的設置
Type=forking是后臺運行的形式,取值有:simple、forking、oneshot、notify、dbus,其中:
> simple(默認值):systemd認為該服務將立即啟動。服務進程不會fork。如果該服務要啟動其他服務,不要使用此類型啟動,除非該服務是socket激活型。
> forking:systemd認為當該服務進程fork,且父進程退出后服務啟動成功。對于常規的守護進程(daemon),除非你確定此啟動方式無法滿足需求,使用此類型啟動即可。使用此啟動類型應同時指定 PIDFile=,以便systemd能夠跟蹤服務的主進程。
> oneshot:這一選項適用于只執行一項任務、隨后立即退出的服務。可能需要同時設置 RemainAfterExit=yes 使得 systemd 在服務進程退出之后仍然認為服務處于激活狀態。
> notify:與 Type=simple 相同,但約定服務會在就緒后向 systemd 發送一個信號。這一通知的實現由 libsystemd-daemon.so 提供。
> dbus:若以此方式啟動,當指定的 BusName 出現在DBus系統總線上時,systemd認為服務就緒。
PIDFile: 進程ID文件路徑,對于上述tomcat的配置,相應的tomat/bin/catalina.sh需加入CATALINA_PID參數,參考方式是在腳本一開始的# OS specific support.行之前添加變更,示例如下:
# ----------------------------------------------------------------------------- CATALINA_PID=/usr/local/tomcat/tomcat.pid # OS specific support. $var _must_ be set to either true or false.
ExecStartPre (可選):啟動前要做什么
ExecStart:為服務的具體運行命令
ExecReload:為重啟命令,kill命令-s參數為向進程發送信號,HUP為重新運行的信號
ExecStop:為停止命令,kill命令-s參數為向進程發送信號,QUIT為退出程序的信號
User、Group(可選):為運行時所使用的用戶、群組,如果沒有將tomcat目錄綁定到該用戶,則這兩個參數不要在配置中出現
PrivateTmp=True表示給服務分配獨立的臨時空間
注意:[Service]的啟動、重啟、停止命令全部要求使用絕對路徑,User、Group不指定則默認為root
[Install]服務安裝的相關設置,可設置為多用戶
注:本部分參考自:https://blog.csdn.net/younger_china/article/details/52539522
然后執行systemctl enable tomcat設置為開機自動啟動,或者先通過tomcat/bin子目錄下的shutdown.sh停掉當前運行的tomcat,然后執行systemctl start tomcat運行即可;
(2)啟動阻塞超時的問題:
全新的tomcat環境,在沒有運行過的情況下,tomcat/logs子目錄下是沒有日志文件的,第一次運行后將產生日志文件,最常見的是根據catalina.out日志文件定位問題。
Tomcat啟動有時因為超時導致啟動失敗,常見的原因是安全隨機數耗時的問題,從啟動日志中看到類似如下的告警:
19-Jul-2018 22:43:02.156 WARNING [main] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [149,396] milliseconds. 19-Jul-2018 22:43:02.174 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/ROOT] has finished in [149,652] ms
這是由于在服務器環境下,系統的隨機數參考環境變量比較少導致計算比較慢,解決方式有兩種:
方式一:可以通過配置 JRE 使用非阻塞的 Entropy Source:
在 catalina.sh 中加入這么一行:
-Djava.security.egd=file:/dev/./urandom
例如:
# Make the umask available when using the org.apache.catalina.security.SecurityListener
JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/urandom -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"
方式二:打開 $JAVA_HOME/jre/lib/security/java.security (本安裝中是這個文件,找到下面的內容:
securerandom.source=file:/dev/random
替換為:
securerandom.source=file:/dev/./urandom
注:路徑中間的點號是在某些版本中securerandom.source 設置為 /dev/urandom 它也仍然使用的 /dev/random,因此用了變通的方式,如果所用版本測試驗證直接用securerandom.source=file:/dev/urandom能正常工作,則無需用帶點號的路徑;
(3)Tomcat停止時原線程、IP端口釋放不徹底的問題
某些Tomcat web工程版本開發調測時發現用tomcat/bin下的shutdown.sh關閉不徹底,這時需要手工用kill 進程號才能徹底關閉掉,通常這類問題是開啟的非守護線程并沒有停止掉造成的,可借助幾個步驟:
第一步:查看Tomcat進程號
ps -ef|grep tomcat
第二步:用JDK自帶的jstack工具分析活動線程
$JAVA_HOME/bin/jstack <pid>
<pid>為具體的進程號
第三步:找到主線程main、自建線程檢查是否是守護線程,如果不是,修改相應的Java代碼,在類似于new Thread()的動作之后注意設置為守護線程,再重新發布版本驗證;
第四步:對于IP端口號未及時釋放的,為了不影響調測,臨時可通過kill強制關閉進程:
kill <pid>
后續需檢查自行占用端口的代碼在程序退出時釋放及時釋放端口資源;
第五步:多個tomcat目錄的實例運行,關閉失敗,需要記錄各個實例的進程ID,在相應的tomcat/bin/catalina.sh代碼前面添加如下操作:
############# if [ -z "$CATALINA_PID" ]; then CATALINA_PID=$PRGDIR/CATALINA_PID cat $CATALINA_PID fi############
在相應的tomcat/bin/shutdown.sh中:
exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
添加強制停止的參數,即:
exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"
五、創建基于web項目的Maven多模塊工程
大量的Java工程都是web項目,對于企業應用,這些項目通常都是多模塊項目。為了便于管理,通常對項目進行分層,頂層是一個parent項目,parent下包含多個子模塊,單個子模塊可以是某個公共包、庫的集合,也可以按功能劃分子模塊,或者為了便于生成一個具體生產環境所需的配套包、或者測試環境的測試包也單獨開辟一個子模塊用戶生成所需的打包文件;以下以創建一個基礎的web項目的多模塊工程為樣例例進行說明。
(1)創建頂層工程parent
假設頂層工程名為sample-parent,進入到所在的父目錄后,輸入如下命令:
mvn archetype:generate -DgroupId=com.sample -DartifactId=sample-parent -DarchetypeArtifactId=maven-archetype-quickstart
注意:示例中groupId為com.sample,工程名sample-parent,命令最后還可以加一個參數-DinteractiveMode=false表示無需在進行交互式確認,本示例中未加該參數,執行過程中可以再次確認版本等信息,如無需更改直接回車即可;
上述命令執行完成后,頂層工程就創建好了,工程默認的打包結果為jar,但我們用頂層工程的目的只是用來管理多個模塊不在頂層輸出jar包,為此,進入到sample-parent目錄,將src文件夾刪除,然后修改pom.xml文件,將<packaging>jar</packaging>修改為<packaging>pom</packaging>
(2)創建子工程common
將一些最常用的公共類、包等放在一個可被依賴的子模塊中,非常利于團隊中的代碼共享,為此先進入到sample-parent目錄,然后創建sample-common子工程,這樣創建出來的子工程自動成為sample-parent的一個子模塊,輸入的命令如下:
mvn archetype:generate -DgroupId=com.sample -DartifactId=sample-common -DarchetypeArtifactId=maven-archetype-quickstart
命令執行完成之后可以看到在sample-parent目錄中生成了sample-common,里面包含src目錄和pom.xml文件。同時,在sample-parent目錄中的pom.xml文件自動添加了如下內容:
<modules> <module>sample-common</module> </modules>
修改sample-common目錄中的pom.xml文件,把<groupId>sample-common</groupId>和<version>1.0-SNAPSHOT</version>去掉,加上<packaging>jar</packaging>,
因為groupId和version會繼承sample-parent中的groupId和version,packaging設置打包方式為jar;
(3)創建子工程web
假定需要發布一個能在Tomcat中運行的war包,這個可發布的包位于一個子模塊sample-web中,在進入sample-parent目錄后,可執行如下命令創建web工程:
mvn archetype:generate -DgroupId=com.sample -DartifactId=sample-web -DarchetypeArtifactId=maven-archetype-webapp
注意:參數-DarchetypeArtifactId=maven-archetype-webapp表示這是創建web工程,默認打包為war包
(4)添加依賴繼承、依賴
在父工程的pom.xml中通過properties標簽內容羅列依賴的版本號,然后通過<dependencyManagement>羅列依賴的各種jar包、模塊,再在子工程的<dependencies>添加該子工程所需要的依賴時可以繼承父工程已經聲明的包、模塊,無需再指明具體的版本號;類似的機制適用于在父工程中通過<pluginManagement>聲明build所需的maven插件,在子工程的<plugins>中再添加所需的maven插件,無需再指明具體的版本號;
六、搭建MySQL環境
(1)下載MySQL
從MySQL官方網站下載頁面(https://dev.mysql.com/downloads/mysql/)下載社區版MySQL(MySQL Community Server),例如選擇下載:MySQL Community Server 5.7
安裝說明文檔(Installation structions)也可在該頁面找到;根據配套的服務器操作系統版本CentOS7,本次下載的是:
Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), RPM Bundle 5.7.22 570.3M
(mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar)
(2)上傳版本到CentOS服務器,解壓安裝包
可借助客戶端工具例如MobaXterm上傳版本到服務器的一個目錄,例如:/var/ftp/tools
然后執行解壓命令:
tar -xvf mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar
(3)安裝MySQL Server
在解壓目錄下,依次執行如下命令安裝各個rpm包:
rpm -ivh mysql-community-common-5.7.22-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.22-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-5.7.22-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.22-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm
注意:如果系統之前安裝了其他的MySQL、MariaDB,可能由于沖突導致安裝失敗,應先卸載之前的安裝,可通過rpm -qa|grep mysql查詢之前安裝的rpm包,然后通過rpm -e xxx卸載之前的rpm包;
(4)啟動MySQL
執行如下命令:(注意在CentOS下MySQL的服務名為mysqld,在SUSE Linux下為mysql)
service mysqld start
或者
systemctl start mysqld
安裝完成后mysqld位于/usr/sbin/mysqld,reboot重啟系統后:
> 可通過systemctl status mysqld查看運行狀態
> 可通過ps -ef | grep ^mysql查看進程號
> 可通過netstat -anpl |grep mysql查看網絡服務
> 可通過mysqladmin --version查看版本號
(5)配置root用戶密碼
MySQL在初始安裝的時候,會生成安裝日志(位于/var/log/mysqld.log),其中記錄了一個隨機的初始密碼,以root用戶及此初始密碼登錄,然后修改root密碼;
例如:vi /var/log/mysqld.log,找到如下行
2018-07-15T16:11:30.955449Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2018-07-15T16:11:30.956742Z 1 [Note] A temporary password is generated for root@localhost: /yBner_jl6Ii
以用戶root初始密碼/yBner_j16Ii登陸:
mysql -uroot -p/yBner_jl6Ii
操作過程如下:
mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 8Server version: 5.7.22 Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> set password=password('11211'); ERROR 1819 (HY000): Your password does not satisfy the current policy requirements mysql> set password=password('127212yZp');ERROR 1819 (HY000): Your password does not satisfy the current policy requirements mysql> set password=password('121132@MySQL');Query OK, 0 rows affected, 1 warning (0.00 sec)
(6)配置遠程登錄權限
登錄MySQL后,修改root的登錄權限,在其中依次執行如下兩步
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '121132@MySQL' WITH GRANT OPTION;
flush privileges;
注意:命令中BY后面的121132@MySQL為root的密碼,實際操作時請輸入實際的密碼;
(7)使用PC客戶端工具連接MySQL
例如HedisSQL工具;
(8)忘記root密碼時補救辦法
第一步:修改配置文件/etc/my.cnf在[mysqld]后新增一行,內容為skip-grant-tables,用于方通MySQL的密碼檢查
第二步:重啟MySQL,例如執行:service mysqld restart 或 systemctl restart mysqld
第三步:以root用戶登錄MySQL,執行登錄MySQL:mysql -uroot -p (直接回車,密碼為空)
然后在MySQL命令行中依次執行:
update user set authentication_string=password('123456') where user='root'; flush privileges;
注意:上述123456為新的密碼,實際操作時以請輸入具體的密碼;
然后執行quit退出MySQL命令行;
第四步:恢復配置文件/etc/my.cnf,去掉第一步中加的skip-grant-tables,重啟MySQL(參考第二步)
(9)root密碼過于簡單導致設置密碼失敗
登錄MySQL后,在MySQL命令行下,輸入命令:
set global validate_password_policy=0;
可設置密碼校驗復雜度為0;
輸入命令:
set global validate_password_length=0
可設置密碼最小長度為4;
之后,可輸入命令查看密碼相關的參數:
SHOW VARIABLES LIKE 'validate_password%';
七、搭建Redis環境
(1)下載Redis
從Redis官方網站(https://redis.io/download ) 下載Redis的安裝包,其中包含源碼;將安裝包復制的服務器的一個目錄下并解壓,例如:
tar zxvf redis-5.0.0.tar.gz
(2)進入解壓后的目錄,例如:
cd redis-5.0.0/
(3)編譯程序
在編譯之前請確保系統以及安裝了gcc,如果沒有安裝,請先安裝gcc(例如執行yum install gcc);之后依次執行如下命令:
make cd src make install PREFIX=/usr/local/redis
注:上述PREFIX=/usr/local/redis表示安裝到/usr/local/redis目錄下
如果因為之前沒有安裝gcc導致編譯失敗,請先刪除剛剛解壓的redis目錄,重新解壓,重新進入解壓目錄后再重新編譯;
(4)復制配置文件到安裝目錄下
依次執行如下命令:
cd.. mkdir /usr/local/redis/etc cp redis.conf /usr/local/redis/etc/
(5)常用配置參數
配置參數存放在redis.conf文件中,需編輯該文件進行配置,例如:
vim /usr/local/redis/etc/redis.conf
daemonize:如需要在后臺運行,把該項的值改為yes
pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址
bind:指定redis只接收來自該IP的請求,如果不設置,那么將處理所有請求,在生產環節中最好設置該項
port:監聽端口,默認為6379
timeout:設置客戶端連接時的超時時間,單位為秒
loglevel:等級分為4級,debug,revbose,notice和warning。生產環境下一般開啟notice
logfile:配置log文件地址,默認使用標準輸出,即打印在命令行終端的端口上
database:設置數據庫的個數,默認使用的數據庫是0
save:設置redis進行數據庫鏡像的頻率
rdbcompression:在進行鏡像備份時,是否進行壓縮
dbfilename:鏡像備份文件的文件名
dir:數據庫鏡像備份的文件放置的路徑
slaveof:設置該數據庫為其他數據庫的從數據庫
masterauth:當主數據庫連接需要密碼驗證時,在這里設定
requirepass:設置客戶端連接后進行任何其他指定前需要使用的密碼
maxclients:限制同時連接的客戶端數量
maxmemory:設置redis能夠使用的最大內存
appendonly:開啟appendonly模式后,redis會把每一次所接收到的寫操作都追加到appendonly.aof文件中,當redis重新啟動時,會從該文件恢復出之前的狀態
appendfsync:設置appendonly.aof文件進行同步的頻率
vm_enabled:是否開啟虛擬內存支持
vm_swap_file:設置虛擬內存的交換文件的路徑
vm_max_momery:設置開啟虛擬內存后,redis將使用的最大物理內存的大小,默認為0
vm_page_size:設置虛擬內存頁的大小
vm_pages:設置交換文件的總的page數量
vm_max_thrrads:設置vm IO同時使用的線程數量
(5)配置redis為后臺啟動
編輯redis.conf文件:
vi /usr/local/redis/etc/redis.conf
將文件中daemonize no 改成daemonize yes
(6)可選步驟一:將redis加入到開機啟動,編輯/etc/rc.local文件:
vi /etc/rc.local
在里面添加內容即可:
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
注:上述內容即開機時調用命令redis-server,配置文件為redis.conf,該行命令也可用于手工啟動redis服務;
(7)可選步驟二:常用操作
手工停掉redis,可執行如下命令:
pkill redis-server
或者
/usr/local/redis/bin/redis-cli shutdown
卸載redis,可在停止redis后,刪除上述安裝目錄即可:
rm -rf /usr/local/redis
執行客戶端連接redis
/usr/local/redis/bin/redis-cli
(8)將redis配置為可通過systemctl管理的服務
參考上述tomcat服務的配置文件,類似的編寫一個描述redis服務的文件(配置參數的含義參考上述tomcat服務配置文件中對參數的解釋),先創建服務描述文件并進行編輯:
vim /usr/lib/systemd/system/redis.service
文件內容示例如下:
[Unit] Description=Redis After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking #PID Should be the same as redis.conf PIDFile=/var/run/redis_6379.pid #For start: redis-server path and redis.conf path ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf #For restart ExecReload=/bin/kill -s HUP $MAINPID #For stop ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] #System startup mode WantedBy=multi-user.target
之后執行刷新系統服務配置
systemctl daemon-reload
再執行激活開機自動啟動redis服務
systemctl enable redis
其后:可通過如下命令查看redis服務狀態
systemctl status redis
通過如下命令手工停止redis服務
systemctl stop redis
通過如下命令手工啟動redis
systemctl start redis
通過如下命令手工重啟redis服務
system restart redis
以上是“CentOS 7如何搭建基礎Java開發環境JDK, Maven, Tomcat, MySQL,Redis”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。