阿里云部署JavaWeb环境

摘要:记录了阿里云部署JavaWeb环境的步骤和流程,以及安装JDK/JRE、tomcat、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_priv                                 OK
mysql.db                                           OK
mysql.event                                        OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.host                                         OK
mysql.ndb_binlog_index                             OK
mysql.plugin                                       OK
mysql.proc                                         OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.servers                                      OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
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;

:star: mysql配置文件位置: /etc/my.cnf

猜你喜欢

转载自juejin.im/post/7126416043634851854
今日推荐