1. 程式人生 > 實用技巧 >阿里雲部署java環境(附:自動化部署指令碼)

阿里雲部署java環境(附:自動化部署指令碼)

java環境(CentOS 7.2,jdk-8,tomcat-7.0.78,nginx-1.12.0)

1.安裝JDK

  • 首先檢查系統是否已經安裝了jdk

    rpm -qa | grep java
    
  • 有則執行下面命令解除安裝

    rpm -e --nodeps  這裡為上面命令查詢出來的jdk
    
  • `去官網下載jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下載對應版本的rpm包,本作業系統為64位

    把下載連結複製下來,在linux中進行下載。

    或者直接複製連結地址

    此處去除了使用者驗證

    `

    `

    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.rpm

    安裝: rpm -ivh 這裡為下載下來的包的名字加入環境變數vi ~/.bashprofile 檔案末尾追加export JAVAHOME=這裡為java安裝目錄(預設在/usr/java) export JREHOME=$JAVA

    HOME/jre export CLASSPATH=.:$JAVAHOME/lib:$JREHOME/lib export PATH=$JAVA_HOME/bin:$PATH

    執行下面命令,立即生效`

    source ~/.bash_profile

測試是否安裝成功執行java -version ,出現如下資訊說明安裝成功

java version "1.7.0_131"Java(TM) SE Runtime Environment (build 1.8.0_131-b11)Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

2.安裝tomcat

  • 切換目錄到local,並且建立目錄tomcat,切換到tomcat目錄下載tomcat

    cd /usr/local/mkdir tomcatcd tomcatwget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.82/bin/apache-tomcat-7.0.82.tar.gz

解壓安裝: tar -zxvf apache-tomcat-7.0.82.tar.gz

切換到tomcat安裝目錄,測試啟動

cd  /安裝目錄cd  binsh startup.sh

訪問http://主機ip:8080 (注意:確保8080埠已開啟,可在安全組配置中檢視)

出現tomcat歡迎頁面表示安裝成功==============================

3.安裝mysql

  • 檢查 MySQL 是否已安裝

    yum list installed | grep mysql

  • 如果有,就先全部解除安裝,命令如下:

    yum -y remove 這裡為上面命令查詢出來的結果

注意:rpm -e --nodeps mysql-libs-5.1.73-3.el6_5.x86_64 這個 5.1破玩意害慘了,好像是centos帶的,妹的。刪你個龜孫

  • 下載安裝包

    wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.21-1.rhel5.x8664.rpm wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-devel-5.6.21-1.rhel5.x8664.rpmwget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-client-5.6.21-1.rhel5.x86_64.rpm

  • 依次輸入下面命令安裝

    rpm -ivh MySQL-server-5.6.21-1.rhel5.x8664.rpmrpm -ivh MySQL-client-5.6.21-1.rhel5.x8664.rpmrpm -ivh MySQL-devel-5.6.21-1.rhel5.x86_64.rpm

  • 修改配置檔案路徑到etc目錄,並且初始化

cp /usr/share/mysql/my-default .cnf /etc/my .cnf 初始化 /usr/bin/mysql_install_db

查詢預設密碼

more /root/.mysql_secret

登入mysql

mysql -uroot -p這裡為上面查詢出來的密碼

修改密碼

set password = password('123456');

修改編碼格式

vim  /etc/my.cnf

在[mysqld]下面新增如下資訊

character_set_server=utf8

到此mysql安裝完成==============================

然後我們進行遠端連線的時候會報錯:

Host is not allowed to connect to this MySQL server

原因是預設情況下MySQL不允許遠端登入,所以遠端登入失敗了,解決方法如下:

  1. 在裝有MySQL的機器上登入MySQL mysql -u root -p密碼

  2. 執行use mysql;

  3. 執行update user set host = '%' where user = 'root';這一句執行完可能會報錯,不用管它。

  4. 執行FLUSH PRIVILEGES;

    經過上面4步,就可以解決這個問題了。
    注: 第四步是重新整理MySQL的許可權相關表,一定不要忘了,我第一次的時候沒有執行第四步,結果一直不成功,最後才找到這個原因。

3:安裝nginx

(1)新增Nginx到YUM源

新增CentOS 7 Nginx yum資源庫,開啟終端,使用以下命令:

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

(2).安裝Nginx

在你的CentOS 7 伺服器中使用yum命令從Nginx源伺服器中獲取來安裝Nginx:

sudo yum install -y nginx

Nginx將完成安裝在你的CentOS 7 伺服器中。

重啟 /etc/init.d/nginx restart

/etc/init.d/nginx reload

/etc/init.d/nginxstop

檢查是否安裝成功,nginx預設80埠,確保80埠開啟。瀏覽器中輸入伺服器ip出現如下頁面,表示安裝成功;

附件:

1.工程部署指令碼

#!/bin/bash#建立工程指令碼#前置條件:# apache-tomcat-7.0.82.tar.gz 檔案放在目錄:/usr/local/tomcat#############################APP=""read -p "please input the app name:[gongzy]" APPecho "建立應用程式$APP..."cd /usr/local/tomcatsudo tar xf apache-tomcat-7.0.82.tar.gzsudo mv apache-tomcat-7.0.82 tomcat_$APPecho "tomcat_$APP 搭建完成..."echo "新增tomcat_$APP 服務..."cd /etc/init.d/echo "#!/bin/bash" >> tomcat_$APPecho "# description: Tomcat Start Stop Restart" >> tomcat_$APPecho "# processname: tomcat" >> tomcat_$APPecho "# chkconfig: 234 20 80" >> tomcat_$APPecho "JAVA_HOME=/usr/java/jdk1.8.0_151" >> tomcat_$APPecho "export JAVA_HOME" >> tomcat_$APP  echo "PATH=\$JAVA_HOME/bin:\$PATH" >> tomcat_$APP  echo "export PATH" >> tomcat_$APP  echo "CATALINA_HOME=/usr/local/tomcat/tomcat_$APP" >> tomcat_$APPecho "case \$1 in " >> tomcat_$APP echo "start)" >> tomcat_$APP  echo "sh \$CATALINA_HOME/bin/startup.sh" >> tomcat_$APP  echo ";; " >> tomcat_$APP  echo "stop)" >> tomcat_$APP     echo "sh \$CATALINA_HOME/bin/shutdown.sh" >> tomcat_$APP  echo ";;" >> tomcat_$APP   echo "restart)" >> tomcat_$APP  echo "sh \$CATALINA_HOME/bin/shutdown.sh" >> tomcat_$APP  echo "sh \$CATALINA_HOME/bin/startup.sh" >> tomcat_$APP  echo ";;" >> tomcat_$APP   echo "esac" >> tomcat_$APP     echo "exit 0" >> tomcat_$APPchmod a+x tomcat_$APPsudo chkconfig --add tomcat_$APPecho "新增tomcat_$APP 服務成功!." echo "修改tomcat_$APP catalina.sh ."sed -i -e 's|PRGDIR=`dirname "\$PRG"`|PRGDIR=`dirname "\$PRG"` \n if [ -z "\$CATALINA_PID" ]; then \n  CATALINA_PID=\$PRGDIR/CATALINA_PID \n fi|' /usr/local/tomcat/tomcat_$APP/bin/catalina.shecho "修改tomcat_$APP shutdown.sh ."sed -i -e 's|exec "$PRGDIR"/"$EXECUTABLE" stop "$@"|exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"|' /usr/local/tomcat/tomcat_$APP/bin/shutdown.sh echo "環境搭建成功!" exit 0##############################後置條件:#1. tomcat埠及配置檔案,  /usr/local/tomcat_XXX/conf/server.xml#  在Connector中增加maxThreads="1024" acceptCount="512" URIEncoding="UTF-8”,#  如果有AJP 1.3 Connector 請註釋掉#2. nginx 配置

2.程式釋出指令碼(此處直接上傳war包部署的。也可以 搭建svn 用maven打包部署。)

#!/bin/bash#工程部署指令碼#前置條件:請先將war包上傳到/home/www/war/目錄下APP=""read -p "please input the app name:[gongzy]" APPecho "正在關閉tomcat_$APP..."service tomcat_$APP stopecho "正在部署$APP..."cd  /usr/local/tomcat/tomcat_$APP/webapps/ROOT/rm -rf *cp /home/www/war/$APP.war  /usr/local/tomcat/tomcat_$APP/webapps/ROOT/jar -xvf $APP.warrm -f $APP.war echo "正在重啟tomcat_$APP..."service tomcat_$APP startecho "部署成功!"