阿里雲部署JavaWeb環境
摘要:記錄了阿里雲部署JavaWeb環境的步驟和流程,以及安裝JDK/JRE、tomcat、SQL/">MySQL時遇到的問題和解決方式。
環境、工具及版本
- 作業系統:CentOS 7
- JDK8
- SecureFX、SecureCRT
安裝JDK/JRE示例
tar zxvf jdk-8u171-linux-x64.tar.gz -C /usr/java/jdk
#set java environment export JAVA_HOME=/usr/java/jdk/jdk1.8.0_171 export JRE_HOME=/usr/java/jdk/jdk1.8.0_171/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
source /etc/profile 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)
安裝tomcat示例
tar zxvf apache-tomcat-7.0.88.tar.gz -C /usr/java/tomcat
export JAVA_HOME=/usr/java/jdk/jdk1.8.0_171 export JRE_HOME=/usr/java/jdk/jdk1.8.0_171/jre
- 使用SecureCRT進入tomcat目錄的bin,輸入
./startup.sh
後即可啟動tomcat,如果啟動成功則顯示以下資訊:
[root@izwabcdefghijklh8jykfdz bin]# ./startup.sh Using CATALINA_BASE:/usr/java/tomcat/apache-tomcat-7.0.88 Using CATALINA_HOME:/usr/java/tomcat/apache-tomcat-7.0.88 Using CATALINA_TMPDIR: /usr/java/tomcat/apache-tomcat-7.0.88/temp Using JRE_HOME:/usr/java/jdk/jdk1.8.0_171/jre Using CLASSPATH:/usr/java/tomcat/apache-tomcat-7.0.88/bin/bootstrap.jar:/usr/java/tomcat/apache-tomcat-7.0.88/bin/tomcat-juli.jar Tomcat started.
- 在阿里雲防火牆規則中開啟8080埠

開啟8080埠
- 7、此時在瀏覽器輸入公網IP和埠號:
xxx.xxx.xxx.xxx:8080
,如果顯示tomcat主頁就說明部署完成
安裝JDK和tomcat時編輯檔案的說明
- 安裝JDK和tomcat時,編輯profile檔案、setclasspath.sh檔案的步驟也可以用SecureCRT以vi命令操作檔案,例如:
vi profile
、vi setclasspath.sh
- 命令模式。輸入vi後進入命令模式,此狀態下敲擊鍵盤動作會被vi識別為命令,而非輸入字元。這裡會使用的常用命令:
i x :
- 輸入模式。在輸入模式中,會主要使用以下按鍵:
- HOME/END,移動游標到行首/行尾
- Page Up/Page Down,上/下翻頁
- ESC,退出輸入模式,切換到命令模式
- 底線命令模式。在命令模式下按下 :可進入底線命令模式。底線命令模式可以輸入單個或多個字元的命令,會主要使用以下命令:
:q :w :q! :wq
注:底線命令模式下按ESC鍵可退出。
安裝MySQL示例
- 執行安裝
#yum install mysql #yum install mysql-server #yum install mysql-devel
- 安裝mysql-server時失敗,因為CentOS 7將MySQL資料庫軟體從預設程式列表中移除,需要重新到官網下載
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm # rpm -ivh mysql-community-release-el7-5.noarch.rpm # yum install mysql-community-server
- 安裝成功後重啟mysql服務。
# service mysqld restart
- 登入,此時首次登入不需要密碼
# mysql -u root
- 修改密碼
use mysql; update user set password=PASSWORD("root")where user="root";
- 更新許可權
flush privileges;
- 重啟服務
service mysqld restart
- 重新登入即可
mysql -u使用者名稱 -p密碼
安裝MySQL時的問題
:star:遠端訪問錯誤
遠端訪問授權時出現如下錯誤:
ERROR 1558 (HY000): Column count of mysql.user is wrong. Expected 43, found 42. Created with MySQL 50556, now running 50640. Please use mysql_upgrade to fix this error.
解決方案
- 退出至命令列,使用下列命令
[root@izwabcdefghijklh8jykfdz ~]# mysql_upgrade -uroot -p Enter password:
- 輸入密碼後出現下列資訊
Looking for 'mysql' as: mysql Looking for 'mysqlcheck' as: mysqlcheck Running 'mysqlcheck with default connection arguments Warning: Using a password on the command line interface can be insecure. Running 'mysqlcheck with default connection arguments Warning: Using a password on the command line interface can be insecure. mysql.columns_privOK mysql.dbOK mysql.eventOK mysql.funcOK mysql.general_logOK mysql.help_categoryOK mysql.help_keywordOK mysql.help_relationOK mysql.help_topicOK mysql.hostOK mysql.ndb_binlog_indexOK mysql.pluginOK mysql.procOK mysql.procs_privOK mysql.proxies_privOK mysql.serversOK mysql.slow_logOK mysql.tables_privOK mysql.time_zoneOK mysql.time_zone_leap_secondOK mysql.time_zone_nameOK mysql.time_zone_transitionOK mysql.time_zone_transition_typeOK mysql.userOK Running 'mysql_fix_privilege_tables'... Warning: Using a password on the command line interface can be insecure. Running 'mysqlcheck with default connection arguments Warning: Using a password on the command line interface can be insecure. Running 'mysqlcheck with default connection arguments Warning: Using a password on the command line interface can be insecure. OK
- 此時重新進行遠端訪問授權,成功
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root' @'%' IDENTIFIED BY '123456' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)
其他設定
:star: 建立使用者mark,允許從ip為20.21.22.128的主機連線到mysql伺服器,僅授權增刪改查操作,使用123456作為密碼
mysql>create user 'mark' @'%' identified by '123456'; mysql>GRANT Select,Update,Insert,Delete PRIVILEGES ON *.* TO 'mark' @’20.21.22.128’ IDENTIFIED BY '123456' WITH GRANT OPTION;
使用者訪問許可權的設定可參看我的另一篇文章: ofollow,noindex">MySql使用者訪問許可權的設定
:star: mysql配置檔案位置: /etc/my.cnf