AWS免费云服务器-JavaWeb项目环境搭建JDK8+Tomcat8+MySQL

准备工作

1.拥有一个AWS全球账户 注册AWS全球用户

(前提是要有一张信用卡,现在银联的就可以,用来验证)
(学生可以办没有额度的校园信用卡)

2.开启实例(Ubuntu)

    点击"启动虚拟机"创建实例
    1.选择一个Amazon系统映像(AMI)---(选择一个免费的,这里我选的是ubuntu)
    2.选择一个实例类型---(选择那个带有绿色符合条件的免费套餐)
    3.配置实例详细信息---(不用改什么,直接下一步)
    4.添加存储---(大小最好改为30以下,超出是要收费的)
    5.添加标签---(不用改什么,直接下一步)
    6.设置安全组---(自己的项目可以不用考虑安全性的情况下,可以开放一个所有资源,所有位置,这个是为了接下来省时,如果有安全需要,还是按照需要改)
    点击"审核和启动"
    创建密钥对---(名字自己定义,密钥存放位置自己设置,自己记得就好,这里生成的密钥是.pem格式的)

3.连接(这里我使用的是PuTTY) (更详细的文档由AWS提供)
----------------------[下载PuTTY]
(https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)
或者自行下载一个Xshell,它有文件上传的Xftp,也很好用

    1.选择zip格式的(或者选择两个,putty.exe和puttygen.exe)
    2.打开puttygen.exe转换私有密钥
    a) 进入之后,在Parameter
    Type of kry to generate
    中选中RSA
    b) 选择Load(默认情况下,PuTTYgen 仅显示扩展名为 .ppk 的文件。要找到您的 .pem 文件,请选择显示所有类型All Files(*.*)的文件的选项)
    选中你刚刚创建实例最后一步创建的密钥对
    点击"open"
    c) 选择"Save private key",接下来会弹出显示一条关于在没有口令的情况下保存密钥的警告,选择是。
    d) 指定密钥对名称,保存。
    
    3.启动PuTTY会话,连接到实例
    a) 左侧选中Session
    在HostName框中,输入 IP地址(实例中有,复制来就好)
    或者是 user_name@public_dns_name(变量),例如:
    --|对于 Amazon Linux 2 或 Amazon Linux AMI,用户名称是 ec2-user。
    --|对于 Centos AMI,用户名称是 centos。
    --|对于 Debian AMI,用户名称是 admin 或 root。
    --|对于 Fedora AMI,用户名为 ec2-user 或 fedora。
    --|对于 RHEL AMI,用户名称是 ec2-user 或 root。
    --|对于 SUSE AMI,用户名称是 ec2-user 或 root。
    --|对于 Ubuntu AMI,用户名称是 ubuntu。
    --|另外,如果 ec2-user 和 root 无法使用,请与 AMI 供应商核实。
    --|我的是ubuntu的,所以user_name就是ubuntu。
    在Port框中输入 22
    在ConnectionType下选择SSH
    (可选) 如果打算稍后重新启动此会话,则可以保存此会话信息以便日后使用。在 Category 树中选择 Session,在 Saved Sessions 中输入会话名称,然后选择 Save。
    b) 在 Category 窗格中,展开 Connection,再展开 SSH,然后选择 Auth。
    选择 Browse(选择您为密钥对生成的 .ppk 文件,然后选择 Open)
    c) 选择打开以便开始 PuTTY 会话(如果是第一次连接到此实例,PuTTY 会显示安全警告对话框,询问您是否信任您要连接到的主机,选择 是)

4.修改系统的root密码并切换用户

    (附带一个修改root密码并切换用户的linux命令)
    --|修改密码:
    ----|sudo passwd root
    ----|之后自己设置密码,会输入两遍以确认
    --|切换到root
    ----|su root
    ----|输入刚刚设置的root密码,然后就切换到root账户了

配置JDK和Tomcat(配置文件最好在root权限下)

5.下载jdk,tomcat压缩包

    在登录到系统后用wget命令下载jdk,tomcat压缩包(tar.gz格式)
    (会直接下载到当前所在的文件夹)
    
    例如:
    --|下载tomcat 命令  后期更新,这个网址已经不能下载了
    wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.0.53/bin/apache-tomcat-8.0.53.tar.gz
    
    ----|有时候直接用wget解决不了的问题(确保网址没有问题的情况下)将wget换成
    ----|下面的,再加上你找到的下载文件的地址
    
    --|下载jdk 命令  后期更新,这个网址已经不能下载了
    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz

6.解压

    解压tar.gz格式文件命令:
    tar -zxvf   [压缩包名字]
    例如:
    tar -zxvf apache-tomcat-8.0.53.tar.gz
    tar -zxvf jdk-8u191-linux-x64.tar.gz

7.配置环境变量(最好在root权限下)

    1.配置JDK
    打开配置文件:
    sudo vi /etc/profile
    ----|打开文件之后输入"i"开始编辑(最下面会出现----INSERT----,表示在编辑
    ----|中,上下键移动光标到文件末尾)
    在文件的末尾加上:
    export JAVA_HOME=/home/ubuntu/iul/jdk1.8.0_191
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=.:${JAVA_HOME}/bin:$PATH
    ----|第一行是变量,改成你自己的jdk路径
    ----|编辑完成按"ESC"退出编辑,输入":x"保存退出
    让配置生效
    source /etc/profile
    测试java安装是否成功:
    java -version
    javac
    ----|如果成功,会显示java版本
    2.配置Tomcat
    cd iul/apache-tomcat-8.0.53/bin/
    ----|路径是你自己的tomcat路径,到达tomcat的bin目录下
    vi startup.sh
    ----|到文件末尾,在
    ----|exec "$PRGDIR"/"$EXECUTABLE" start "$@"
    ----|这行的上面,加上下面这几句话
    ----|(编辑,保存退出同上)
    #set java environment
    export JAVA_HOME=/home/ubuntu/iul/jdk1.8.0_191
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:%{JAVA_HOME}/lib:%{JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    #tomcat
    export TOMCAT_HOME=/home/ubuntu/iul/apache-tomcat-8.0.53
    ----|保存退出后:
    sudo ./startup.sh
    ----|会有"Tomcat started"
    ----|查看端口号/进程
    sudo netstat -naptl
    ----|成功的状态显示有LocalAdress为0::::8080,State为Listen
    然后打开浏览器,输入:IP地址:8080
    如果出现Apache Tomcat官网,表示环境配置成功了
    ----|查看Tomcat运行状况,在tomcat下的logs目录下:
    tail -f catalina.out
    
    ----|这里还可能会出现无法访问的情况,如果以上都配置成功,就可能是防火墙的问题了(见下文)

8.配置tomcat-users.xml文件

    ----|配置tomcat-users.xml文件,定义一个manager-gui用户
    cd ..
    cd conf
    vi tomcat-users.xml
    --|(在</tomcat-users>这行的上面加上)
     <role rolename="manager-gui"/> 
     <user username="/*自己设置管理员账户名字*/" password="/*自己设置密码*/" roles="manager-gui"/>
    ----|管理员组的rolename必须是"manage-gui"

9.防火墙(原博)

    防火墙开启8080端口
    
    ----|查看本机关于IPTABLES的设置情况
    iptables -L -n
    ----|查看防火墙状态
    service iptables status
    
    ----|在新安装的Linux系统中,防火墙默认是被禁掉的,一般也没有配置过任何防火墙的策略,所有不存
    ----|/etc/sysconfig/iptables文件
    ----|初始情况下防火墙一般是:iptables未运行防火墙
    ----|这里可能涉及要找不到iptables命令,需要按照linux给的提示安装防火墙
    
    ----|查看本地的端口开启情况
    sudo ufw status
    ----|开启你需要的某个端口,以80为例,
    sudo ufw allow 80
    ----|开启防火墙
    sudo ufw enable
    ----|重启防火墙
    sudo ufw reload
    
    ----|再次查看防火墙状态,有8080表示改动成功

10.安装MySQL

    ----|顺序执行
    sudo apt-get install mysql-server
    apt-get isntall mysql-client
    sudo apt-get install libmysqlclient-dev

    ----|安装完成之后检查是否安装成功:
    sudo netstat -tap | grep mysql
    ----|有mysql 的socket处于 listen 状态则表示安装成功。
    
    ----|登陆mysql
    mysql -u root -p 
        
    ----|忘记密码(没有设密码)怎么办
    sudo vim /etc/mysql/debian.cnf
    ----|这个文件里会有一个系统用户,以及一串很长的密码,可以先用这个账户登录mysql
    ----|然后用
    update mysql.user set authentication_string=password('root') where user='root'and Host = 'localhost';
    ----|这句修改root账户的密码

11.接下来还有很重要的一步,开放/修改3306端口、开放访问权限(原博)

----| 查看3306端口是否开放  
netstat -an|grep 3306
----|在etc/mysql/mysql.conf.d/目录下
sudo vim mysqld.cnf
----|找到 bind-address = 127.0.0.1这句话
----|在前面加上一个"#"号,变成# bind-address = 127.0.0.1

----|修改端口号
----|在这个配置文件中找到[mysqld]
----|在其中增加一条
port = 3306

AWS免费云服务器-JavaWeb项目环境搭建JDK8+Tomcat8+MySQL_第1张图片

----|保存退出
----|开放root账户的访问权限
----|重启MySQL服务,并进入MySQL控制台:
service mysql stop
service mysql start
----|登录mysql
mysql -h 127.0.0.1 -u root -p
----|查看账户权限
use mysql;
select host,user from user;
----|修改root权限
update user set host='%' where user='root';
----|开放root账户所有权限:
grant all privileges on *.* to 'root'@'%' identified by '你的root账户密码';
----|使各项权限立即生效
flush privileges;----|退出mysql,再次确认端口号状态
netstat -an|grep 3306

12.解决MySQL中文乱码(原博)

----|登录数据库,执行如下sql:
show variables like 'character%';

----|结果:
| character_set_client     | utf8                                                   |
| character_set_connection | utf8                                                   |
| character_set_database   | latin1                                                 |
| character_set_filesystem | binary                                                 |
| character_set_results    | utf8                                                   | 
| character_set_server     | latin1                                                 |
| character_set_system     | utf8                                                   |

----|说明在安装数据库的时候,character_set_database,character_set_server编码格式设置错误。

----|解决:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
----|(ubuntu16进入数据数据库的路径)可能会有稍微不同,以实际为准
----|找到mysql安装路径下的my.cnf文件在[mysqld]下添加如下两行:
character_set_server=utf8 
init_connect='SET NAMES utf8'

AWS免费云服务器-JavaWeb项目环境搭建JDK8+Tomcat8+MySQL_第2张图片

----|问题解决:
| character_set_client     | utf8                                                   |
| character_set_connection | utf8                                                   |
| character_set_database   | utf8                                                   |
| character_set_filesystem | binary                                                 |
| character_set_results    | utf8                                                   |
| character_set_server     | utf8                                                   |
| character_set_system     | utf8												    |

总结:

总的来说,要部署一个 Java Web 服务器,需要在你的服务器上安装JDK、Tomcat、MySQL这些环境,然后开放端口以便访问。
部署项目时首先要把数据结构放到数据库中,然后把Java项目的数据库连接改成云服务器的数据库,把项目放到Tomcat的目录下,启动Tomcat即可。

你可能感兴趣的:(AWS服务器,Ubuntu,Java,Linux,环境搭建)