前段時間有幸自己在工作中搭了一套Java服務器環境,其中有用到JDK、Nginx、Redis、MySQL、tomcat,下面我將詳細的介紹下安裝這些工具的步驟以及一些注意事項,苦於沒有找到一套完整的安裝方案,自己動手記錄下,有不同見解歡迎討論
目錄
安裝JDK
安裝環境:CentOS7 64位,安裝JDK1.8
1.查詢是否有舊版jdk
# rpm -qa | grep java
2.卸載舊版的jdk
# rpm -e –nodeps
3.安裝jdk1.8,首先創建一個java的文件夾
# mkdir /usr/local/java
4.將安裝包上傳/usr/local/java/目錄下
鏈接:https://pan.baidu.com/s/1IO7KbcYMtKJXGZqMeETi-w 密碼:wtk4
5.解壓jdk-8u161-linux-x64.tar.gz
# tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/local/java/
注意:如果提示command not found,那需要安裝下tar命令,執行命令:yum install -y tar
6.配置環境變量
# vi /etc/profile
注意:如果vi命令也提示command not found,請參考https://blog.csdn.net/hellbaby666/article/details/43930793這位仁兄的解決方法。
在/etc/profile文件的末尾加上以下配置:
JAVA_HOME=/usr/local/java/jdk1.8.0_144
JRE_HOME=/usr/local/java/jdk1.8.0_144/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
使修改後的/etc/profile文件立即生效:
# source /etc/profile
7.測試
# java -version
自此,JDK安裝完畢!
本安裝方法參考自 https://blog.csdn.net/Brilliant_06/article/details/78657609
安裝Redis
安裝環境:CentOS7 64位,安裝redis-4.0.10
1.1下載redis
可去官網http://redis.io ,也可通過wget命令
$ cd /opt/sofware #切換目錄
$ wget http://download.redis.io/releases/redis-4.0.10.tar.gz
1.2解壓
解壓到/opt/module目錄下
tar -zxvf redis-4.0.10.tar.gz -C /opt/module/
1.3yum安裝gcc依賴
輸入:y
yum install gcc tcl
Total download size: 23 M
Is this ok [y/d/N]: y
1.4切換到redis解壓目錄下
目錄切換
cd /opt/module/redis-4.0.10
1.5編譯安裝
make MALLOC=libc
cd src && make install
#輸出以下內容:
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
make: warning: Clock skew detected. Your build may be incomplete.
1.6測試是否安裝成功
1、先切換到redis src目錄下
cd /opt/module/redis-4.0.10/src
2、啓動redis服務
輸入./redis-server指令
[root@node3 src]# ./redis-server
2812:C 11 Jun 16:23:12.402 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2812:C 11 Jun 16:23:12.402 # Redis version=4.0.10, bits=64, commit=00000000, modified=0, pid=2812,
just started 2812:C 11 Jun 16:23:12.402 # Warning: no config file specified, using the default config.
In order to specify a config file use ./redis-server /path/to/redis.conf
如上圖:redis啓動成功,但是這種啓動方式需要一直打開窗口,不能進行其他操作,不太方便。
按 ctrl + c可以關閉窗口。
3、修改配置文件,以後臺進程方式啓動redis
第一步:修改redis.conf文件
cd /opt/module/redis-4.0.10
vi redis.conf
3.1修改daemonize
將 daemonize no #默認爲no
修改爲 daemonize yes #後臺進程方式改爲yes
3.2修改bind 配置
將bind 127.0.0.1 #默認只有本機才能夠連接
修改爲 bind 192.168.8.94 #改爲本機ip地址、
3.3修改protected-mode配置
將protected-mode yes #在默認保護模式下啓用
修改爲protected-mode no #禁用它,任何client不用認證即可連接
3.4修改port端口號
將port 6379 #默認爲6379端口
修改爲其他端口port 6380 #可根據實際情況配置
指定redis.conf文件啓動
cd /opt/module/redis-4.0.10/src
#輸入以下指令./redis-server ../redis.conf 後臺進程啓動redis
[root@node3 src]# ./redis-server ../redis.conf
2851:C 11 Jun 16:45:16.619 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2851:C 11 Jun 16:45:16.619 # Redis version=4.0.10, bits=64, commit=00000000, modified=0, pid=2851, just started
2851:C 11 Jun 16:45:16.619 # Configuration loaded
測試redis
[root@node3 src]# ./redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> set ko 'ok'
OK
127.0.0.1:6379> keys *
1) "ko"
127.0.0.1:6379> get ko
"ok"
127.0.0.1:6379>
關閉redis進程
首先使用ps -aux | grep redis查看redis進程
[root@node3 src]# ps aux|grep redis
使用kill命令殺死進程
kill -9 2852
設置redis開機自啓動
1、在/etc目錄下新建redis目錄
mkdir redis
2、將/opt/module/redis-4.0.10/redis.conf 文件複製一份到/etc/redis目錄下,並命名爲6379.conf
cp /opt/module/redis-4.0.10/redis.conf /etc/redis/6379.conf
3、將redis的啓動腳本複製一份放到/etc/init.d目錄下
cp /opt/module/redis-4.0.10/utils/redis_init_script /etc/init.d/redisd
4、設置redis開機自啓動
先切換到/etc/init.d目錄下
然後執行自啓命令
chkconfig redisd on
提示:service redisd does not support chkconfig
看結果是redisd不支持chkconfig
解決方法:
使用vi編輯redisd文件,在第一行加入如下兩行註釋,保存退出
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
再次執行開機自啓命令,成功
chkconfig redisd on
現在可以直接已服務的形式啓動和關閉redis了
啓動:
service redisd start
關閉:
service redisd stop
本安裝文檔參考自https://blog.csdn.net/u012637358/article/details/80984771
安裝nginx
安裝環境:CentOS7 64位 ,安裝nginx-1.14.0
centos平臺編譯環境使用如下指令
安裝make:
yum -y install gcc automake autoconf libtool make
安裝g++:
yum install gcc gcc-c++
安裝PCRE庫
cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
tar -zxvf pcre-8.39.tar.gz
cd pcre-8.39
./configure
make
make install
安裝zlib庫
cd /usr/local/src
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make
make install
安裝openssl(某些vps默認沒裝ssl)
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.0.1t.tar.gz
tar -zxvf openssl-1.0.1t.tar.gz
./config
make
make install
安裝nginx
cd /usr/local/src
wget http://nginx.org/download/nginx-1.14.0.tar.gz
tar -zxvf nginx-1.14.0.tar.gz
cd nginx-1.14.0
./configure
make
make install
進入 /usr/local/nginx/sbin/ 目錄。 通過 ./nginx 啓動nginx服務;
1、查看進程號 ps -ef |grep nginx
2.停止
kill -TERM 117971
設置開機啓動
vi /lib/systemd/system/nginx.service
內容如下
[Unit]
Description=nginx
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
設置開機啓動
systemctl enable nginx.service
啓動服務
systemctl start nginx.service
查看服務狀態
systemctl status nginx.service
查看所有已啓動服務
systemctl list-units --type=service
注意:由於當時項目並沒有用到nginx負載均衡之類的,只是作爲前端映射,所以只是按照下面這個簡單的進行配置
其中:
root /usr/local/nginx/html; 前端存放文件的位置
location /xxxx{
proxy_pass http://127.0.0.1:8080;
}
xxxx是服務器上配置項目名(我當時是使用的tomcat),後面的端口按情況修改。
當然在這裏將添加了端口,而CentOS7下防火牆一般是開着的,那麼需要外部能訪問的話,我們需要將端口開放
查看端口:
firewall-cmd --permanent --zone=public --list-ports
新增端口:
firewall-cmd --permanent --zone=public --add-port=80/tcp
使端口生效:
firewall-cmd --reload
安裝MySQL
安裝環境:CentOS7 64位,安裝MySQL5.7
1、下載安裝包
在MySQL官網中下載YUM源rpm安裝包:http://dev.mysql.com/downloads/repo/yum/
# 下載mysql源安裝包
shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# 安裝mysql源
shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm
檢查mysql源是否安裝成功
shell> yum repolist enabled | grep "mysql.*-community.*"
看到上圖所示表示安裝成功
2、安裝MySQL
shell> yum install mysql-community-server
3、啓動MySQL服務
shell> systemctl start mysqld
查看MySQL的啓動狀態
shell> systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
Active: active (running) since 五 2016-06-24 04:37:37 CST; 35min ago
Main PID: 2888 (mysqld)
CGroup: /system.slice/mysqld.service
└─2888 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
6月 24 04:37:36 localhost.localdomain systemd[1]: Starting MySQL Server...
6月 24 04:37:37 localhost.localdomain systemd[1]: Started MySQL Server.
4、開機啓動
shell> systemctl enable mysqld
shell> systemctl daemon-reload
5、修改root默認密碼
mysql安裝完成之後,在/var/log/mysqld.log文件中給root生成了一個默認密碼。通過下面的方式找到root默認密碼,然後登錄mysql進行修改:
shell> grep 'temporary password' /var/log/mysqld.log
shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
或者
mysql> set password for 'root'@'localhost'=password('MyNewPass4!');
注意:mysql5.7默認安裝了密碼安全檢查插件(validate_password),默認密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位。否則會提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements錯誤,如下圖所示:
通過msyql環境變量可以查看密碼策略的相關信息:
mysql> show variables like '%password%';
修改密碼策略
在/etc/my.cnf文件添加validate_password_policy配置,指定密碼策略
# 選擇0(LOW),1(MEDIUM),2(STRONG)其中一種,選擇2需要提供密碼字典文件
validate_password_policy=0
如果不需要密碼策略,添加my.cnf文件中添加如下配置禁用即可:
validate_password = off
重新啓動mysql服務使配置生效:
systemctl restart mysqld
6、添加遠程登錄用戶
默認只允許root帳戶在本地登錄,如果要在其它機器上連接mysql,必須修改root允許遠程連接,或者添加一個允許遠程連接的帳戶,爲了安全起見,我添加一個新的帳戶:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY 'Mambatest!' WITH GRANT OPTION;
7、配置默認編碼爲utf8
修改/etc/my.cnf配置文件,在[mysqld]下添加編碼配置,如下所示:
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
重新啓動mysql服務
systemctl restart mysqld
默認配置文件路徑:
配置文件:/etc/my.cnf
日誌文件:/var/log//var/log/mysqld.log
服務啓動腳本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
本文章參考自:https://www.cnblogs.com/lgqboke/p/6873734.html