阿里雲部署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
執行下面命令,立即生效`
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不允許遠端登入,所以遠端登入失敗了,解決方法如下:
-
在裝有MySQL的機器上登入MySQL mysql -u root -p密碼
-
執行
use mysql;
-
執行
update user set host = '%' where user = 'root';
這一句執行完可能會報錯,不用管它。 -
執行
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 "部署成功!"