1. 程式人生 > >手把手教你搭建CentOS和部署Java專案

手把手教你搭建CentOS和部署Java專案

1.  安裝rzsz

yum -y install lrzsz

2.  安裝jdk

先解除安裝open-jdk

java –version

rpm -qa | grep java

rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

開始安裝:

mkdir /usr/local/src/java

cd  /usr/local/src/java

rz 上傳jdk tar

tar -xvfjdk-7u71-linux-i586.tar.gz

① 

vim/etc/profile

在末尾行新增

#set java environment

JAVA_HOME=/usr/local/src/java/jdk1.7.0_75

CLASSPATH=.:$JAVA_HOME/lib.tools.jar

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

儲存退出

source /etc/profile  使更改的配置立即生效

java -version  檢視JDK版本資訊,如果顯示出1.7.0證明成功

3.  建立ucenter使用者

一般生成環境是不會使用root使用者來發布tomcat等應用的。

useradd ucenter –d/ucenter

passwd ucenter

4.  安裝mysql

# 下載mysql源安裝包

# 安裝mysql

yumlocalinstall mysql57-community-release-el7-8.noarch.rpm

#檢查mysql源是否安裝成功

yum repolist enabled | grep"mysql.*-community.*"

#安裝mysql

yum install mysql-community-server
#啟動mysql
systemctl start mysqld
#檢視mysql的啟動狀態
systemctl status mysqld
#開機啟動
systemctl enable mysqld
systemctl daemon-reload

#修改root本地登入密碼

mysql安裝完成之後,在/var/log/mysqld.log檔案中給root生成了一個預設密碼。通過下面的方式找到root預設密碼,然後登入mysql進行修改:

grep 'temporary password'/var/log/mysqld.log

mysql -uroot–p
mysql> set password for'root'@'localhost'=password('root'); 
注意mysql5.7預設安裝了密碼安全檢查外掛(validate_password),預設密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位。否則會提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements錯誤。

/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

#設定遠端訪問(使用root密碼):

grant all privileges on *.* to 'root' @'%'identified by 'root';

flush privileges;

預設配置檔案路徑:配置檔案:/etc/my.cnf 日誌檔案:/var/log//var/log/mysqld.log 服務啟動指令碼:/usr/lib/systemd/system/mysqld.service 
socket檔案:/var/run/mysqld/mysqld.pid

#Linux執行SQL指令碼:

cattaotao.sql | mysql -uroot -proot -Dtaotao

4.1.  解決mysql訪問慢的問題

vim /etc/my.cnf

在[mysqld]下面新增:

skip-name-resolve

重啟mysql服務:

service restart mysqld

原因:

mysql客戶端每次訪問db,mysql就會試圖去解析來訪問的機器的hostname,並快取到hostname cache,如果這時解析不了,等一段時間會失敗,資料才能被取過來。

5.  安裝Redis

yum -y install cppbinutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++libstdc++-devel tcl

mkdir -p/usr/local/src/redis

cd /usr/local/src/redis

tar -xvfredis-2.8.17.tar.gz

cd redis-2.8.17

make

make test #這個就不要執行了,需要很長時間

make install

cp redis.conf /etc/

vi /etc/redis.conf

# 修改如下,預設為no

daemonize yes

#啟動

redis-server/etc/redis.conf

#測試

redis-cli

6.  安裝Nginx

#安裝相關服務

yum -y install gcc-c++ 

yum -y install pcre pcre-devel 

yum -y install zlib zlib-devel 

yum install openssl openssl-devel

#上傳並解壓安裝包

mkdir /usr/local/src/nginx

cd /usr/local/src/nginx

tar -xvf nginx-1.7.7.tar.gz

#安裝到/ucenter

cd /ucenter

mkdir soft/

cd soft/

mkdir nginx/

chown ucenter: ucenter soft/  -R (改變檔案的許可權所屬為yaochung)

#編譯安裝

cd /usr/local/src/nginx/nginx-1.7.7

./configure --prefix=/ucenter/soft/nginx --user=ucenter--group=ucenter (配置)

./configure --prefix=/ucenter/soft/nginx --user=yaochung--group=yaochung

make (編譯)

make install (安裝)

#使用nginx

cd /ucenter/soft/nginx/sbin

#啟動:./nginx

#重啟:./nginx –s reload

#關掉:./nginx –s stop

#檢視nginx程序:ps –ef |grep nginx

#yaochunglin身份啟動nginx

chown ucenter: ucenter  *  -R (改變檔案的許可權所屬為yaochung)

#nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)

由於非root使用者不能佔用80埠所以使普通使用者以root身份啟動nginx

chown root nginx

chmod u+s nginx

7.  安裝TomCat部署專案

#安裝TomCat

mkdir web

cd web

rz    apache-tomcat-7.0.86.tar.gz

tar –xvf apache-tomcat-7.0.86.tar.gz

mv  apache-tomcat-7.0.86      yaoyao-manage-tomcat(重新命名)

#部署專案

cd   yaoyao-manage-tomcat/webapps

rm –rf   *

mkdir     ROOT

cd   ROOT

rz  專案的war包

jar –xvf  專案的war包

修改相關配置路徑

#啟動和關閉TomCat

cd /web/tomcat/yaoyao-manage-tomcat/bin

啟動:./startup.sh

關閉:./shutdown.sh

#啟動TomCat很慢

使用rngd軟體增大熵池

1.需要cpu支援

grep rdrand /proc/cpuinfo

2.安裝rngd服務(熵服務,增大熵池)

yum install rng-tools

3.啟動服務

systemctl start rngd

#檢視日誌

tail  -f../logs/catalina.out

8.  關閉防火牆

CentOS 7.0預設使用的是firewall作為防火牆

#關閉firewall
systemctl stop firewalld.service #
停止firewall
systemctl disable firewalld.service #
禁止firewall開機啟動
firewall-cmd --state #
檢視預設防火牆狀態(關閉後顯示notrunning,開啟後顯示running