阿里云官网:https://www.aliyun.com/?utm_content=se_1007692031
首次注册领取免费天数服务器:https://free.aliyun.com/product/product/ecs/freetrial?userCode=bfol0yvy
顾名思义,通过这个可以远程终端连接到云服务器,连接成功,便可以使用远程终端的shell来控制阿里云服务器
顾名思义,利用ftp文件传输协议在两个终端之间传输文件
xftp的操作和xshell一样 输入云服务器公网地址建立连接后,便可以让当前主机与云服务器连接 可以在图形界面将当前主机的文件传输到云服务器上
链接:https://pan.baidu.com/s/1EnOerP_uT_mm3JpnlAwU5g
提取码:zbfr
使用某个应用,那么这个应用对应的端口号必须开启才可以使用,tomcat对应的端口是3306,mysql对应的端口号是3306,我们需要在阿里云上查看是否开启了这两个端口,如果没有那便需要手动开启,否侧是不可能成功使用tomcat和mysql的。
具体参考文章最后的附录一
cd /usr
mkdir java
cd java
mkdir jdk
mkdir tomcat
①解压缩(在jdk目录下使用ls查看自己的jdk文件名 将311改成你自己的)
cd jdk
tar -zvxf jdk-8u311-linux-x64.tar.gz
②配置java环境变量
我是使用vim文本编辑软件来配置
用vim打开/etc/profile文件
vim /etc/profile
进入之后,输入i
进入插入模式,将下面这段内容插入到文件末尾(其他位置也行,路径按自己的修改) 插入完成,按下Esc,输入 :wq!
保存并强制退出。(这里是vim的操作,可查阅资料)
#set java environment
export JAVA_HOME=/usr/java/jdk/jdk1.8.0_311
export JRE_HOME=/usr/java/jdk/jdk1.8.0_311/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环境变量配置成功了,输入如下命令检查是否配置成功
java -version
①解压缩(进入tomcat目录)
tar -zvxf apache-tomcat-8.5.63.tar.gz
②添加jdk环境
进入解压文件的bin目录
cd apache-tomcat-8.5.63/bin
进入到bin目录下的setclasspath文件
vim setclasspath.sh
将下面一段内容加入到文件的末尾
#set java env
export JAVA_HOME=/usr/java/jdk/jdk1.8.0_311
export JRE_HOME=/usr/java/jdk/jdk1.8.0_311/jre
③启动tomcat服务器
前面已经将tomcat配置完成,现在进入到tomcat的bin目录下,输入下面命令启动tomcat服务器
(./shutdown.sh
关闭tomcat)
./startup.sh
现在可以在外网通过 http://公网IP地址:8080
来访问自己的阿里云服务器下的tomcat,出现如下界面,便成功访问到tomcat。如果失败 请前往文章最后的附录一,成功就直接接着往下看!
linux系统中一般都自带mysql,使用命令下载即可,我是用的阿里云服务器是Ubuntu系统,这里的命令对Ubuntu系统有效,如果你是用的是Centos,那么请到文章最后的附录三查看Centos的mysql配置命令。(可以更换为ubuntu,百度一下,一分钟就可以搞定)
在写作这篇文章的时候,Ubuntu 源仓库中最新的 MySQL 版本号是 MySQL 8.0。想要安装它,运行下面的命令:
sudo apt update
sudo apt install mysql-server
一旦安装完成,MySQL 服务将会自动启动。想要验证 MySQL 服务器正在运行,输入:
sudo systemctl status mysql
MySQL 安装文件附带了一个名为mysql_secure_installation的脚本,它允许你很容易地提高数据库服务器的安全性。
sudo mysql_secure_installation
前面已经把mysql基本配置完成,已经可以使用,但是可能会有中文字符集插入报错问题,所以我们将mysql的字符集统一改成utf-8
输入mysql
或者mysql -u root -p
登录到mysql,在键入show variables like '%character%';
查看mysql默认字符集编码,可以看到还mysql的数据库和服务端尚未设置为utf-8
输入exit
退出mysql 输入vim /etc/mysql/my.cnf
在my.cnf配置文件追加如下内容。按下 ESC 并输入:wq!
保存并退出(vim操作参考前文)
[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
退出后重启mysql
service mysql restart
①将本地数据库导出为sql文件
在navicat下,选择你想要导出的数据库 按下鼠标右键 选择转储SQL文件 / 结构和数据 ,之后将导出的数据库sql文件通过XFTP上传到阿里云服务器上,
②在阿里云上,运行该sql文件(source 后面是sql文件存储路径)
source /usr/java/sql/rice.sql
1.在idea上选择File\Project Structure 然后按如图所示将javaweb项目以war包形式导出(记得修改项目中数据库连接的地址位阿里云服务器ip地址),点击Apply应用
导出后会在out文件夹(非maven项目)或者target文件下(maven项目)看到项目的war包。复制出来通过XFTP上传到云服务器的tomcat文件夹下的webapps下面。tomcat会自动从war包中解析出项目工程目录来。
导出后war包后,需要重新编译一下,选择Bulid\Build ArtFacts 在跳出的界面中选择你刚刚导出的war包进行编译
编译好的程序会打包在out目录下(如果是maven项目,那就是target目录下),找到war包复制下来通过XFTP上传到云服务器的tomcat文件夹下的webapps目录下面。tomcat会在上传后的几秒内自动从war包中解析出项目工程目录来(刷新一下目录即可看到)。
3.大功告成
在地址栏输入http://公网ip地址:8080/war包名
便可以访问到我们的项目了
如果tomcat访问失败,并且tomcat和java环境配置都正确,那么访问不成功的原因可能是,你的阿里云服务器没有开启8080端口,那你当然无法访问。(比如22端口没有开启,那么你就无法远程终端连接)
可以使用netstat -anp |more
查看当前云服务器上开放的端口 查看8080端口是否开放
如果没有看到8080端口,那么这就是你访问不了tomcat的原因了,下面我们就来在阿里云上开启一下8080端口
切换到阿里云网页,按如图所示进入到安全组配置(界面不一样是因为你用的新版界面,切换到旧版就行,在右上角的选项)
mysql对应的3306端口和8080操作一样 把8080/8080改为3306/3306即可
如果每次对mysql的操作都需要在命令界面操作,那就太麻烦了,使用图形化界面无疑会方便很多,所以我们现在来用navicat链接到阿里云服务器的mysql
通过查询3306端口状态可以看到 3306端口仅仅对ip地址为127.0.0.1主机开放,也就是只能本地主机访问,其他所有主机都访问不了3306端口
使用如下命令进入mysqld.cnf文件,将127.0.0.1所在的一行删掉或者注释掉
vi /etc/mysql/mysql.conf.d/mysqld.cnf
重启mysql再次查看3306端口状态 可以看到3306端口已经对所有主机开放
当我们开放了3306端口对远程连接的主机访问权限后,还是无法使用navicat连接到阿里云的服务器
这是因为我们使用的是root用户连接阿里云mysql,mysql默认让它的使用用户只能在本地访问mysql服务器,远程无法访问,所以我们还需要设置远程主机能通过root用户访问到mysql服务器。
mysql的用户是保存在 mysql下载后自带的mysql数据库的user表中,通过查询此表,可以看到root用户对应的host是localhost也就是本地主机,所以无法远程主机无法通过root访问mysql
修改root的访问权限(下面的命令三选一即可),让root用户在所有主机都可以登录连接到mysql服务器
//改表法
update user set `host` = '%' where `user` = 'root' ;
//授权法
grant all privileges on *.* to 'root'@'%' with grant option;
//授权法(设置访问密码)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '输入你设置的root密码' WITH GRANT OPTION;
刷新系统权限,让修改内容生效
flush privileges;
如果还是失败,那就是密码不匹配,查看或修改一下mysql的密码即可,因为mysql8.0以上使用加密算法对密码加密,所以我就直接修改了密码
修改root用户密码,还是在mysql数据库下的user表中
//先将密码置空
update user set authentication_string='' where user='root';
//修改密码
alter user 'root'@'localhost' identified with mysql_native_password by '输入新密码';
参考这篇博客:在Centos系统上安装mysql