1.首先购买服务器和域名
服务器类型选择:云服务器ecs(不要选择突发性能型),域名自便(注:域名解析需要备案,此类型服务器要求有效期大于三个月才可以备案)。
服务器设置:安全组规则设置,开放相应端口号,22,23,80,433,1433,3306,3389,8080,嫌麻烦直接把(1,65536)全开放了。
配置操作系统,云服务器配置操作系统非常简单,选择好久就可以,我选用的Ubuntu20 64位。
账户密码,安全对(好像是叫这个),自己设置就可以。
然后可以直接通过阿里云提供的远程连接登录即可,选择好对应的服务器,输入账号密码。
2.服务器环境搭建
执行代码:
//更新软件包列表
//以下两句选择一句即可
sudo apt-get update
sudo apt update
/* javaweb需要三个软件配置 */
//jdk 推荐jdk8
//mysql 推荐mysql8
//Tomcat 推荐Tomcat9
//安装jdk
//open-jdk-8
sudo apt-get install openjdk-8-jdk
//open-jdk-11
sudo apt install openjdk-11-jdk
//测试jdk安装是否成功
java -version
/****************************************************************************/
/* 安装成功将会显示你所安装的jdk版本 */
//例如
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1~20.04-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)
/* 安装失败将会显示找不到jdk */
/****************************************************************************/
//安装Tomcat
//第一种方式
# 安装tomcat9和tomcat9-admin
sudo apt install tomcat9 tomcat9-admin
# 配置用户名
sudo usermod -a -G tomcat 你的用户名配
# 启动关闭Tomcat进行测试
sudo service tomcat9 start
sudo service tomcat9 stop
# 查看端口号开发情况(Tomcat默认端口号 8080)
ss -ltn
# 若未开放,则进行开发
sudo ufw allow from any to any port 8080 proto tcp
# 启动Tomcat之后,进行测试
curl http://127.0.0.1:8080
# 如果成功将会出现一个网页源代码,有以下这句话代表启动成功
<p>If you're seeing this page via a web browser, it means you've setup Tomcat successfully. Congratulations!</p> #########################################
# 理论上来说这个时候你的服务器已经部署完成,只是javaweb项目还未配置,此时可以在非服务器计算机查看网页
http://你的服务器公网IP地址:8080
//第二种方式
VERSION=9.0.35
wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmp
sudo tar -xf /tmp/apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat/
# 这种方法也可以使用第一种方法的测试方法
//安装mysql
sudo apt install mysql-server
# 查看版本以及测试是否成功
mysql --version
# 查看mysql启动情况
service mysql status
# 出现以下文字表示启动
Active: active (running)
# mysql的启动,关闭,重启(若执行有误可在每句话前方加 sudo)
service mysql start
service mysql stop
service mysql restart
# 默认创建用户root,但是密码是随机的,需要修改密码
# 我查看网上的方法都不行,所以使用了xftp工具直接查看文件夹
# 后面的内容再说这一步
# 现在已经获得了密码
# 登录mysql
mysql -uroot -p
# 输入密码(Linux输入密码默认无任何内容显示) 回车
# 若显示‘mysql>’表示登陆成功
# 创建新的用户
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
# 给新的用户新的数据库的所有的权限
GRANT ALL ON *.* TO 'me'@'%';
# 刷新
FLUSH PRIVILEGES;
# 修改密码
# 先进入mysql数据库
use mysql;
# 修改
ALTER USER root'@'localhost' IDENTIFIED WITH mysql_ native_ password BY ' 新密码';
# 刷新
FLUSH PRIVILEGES;
# 重启数据库(上面有代码)
# 到这一步 服务器内部环境设置已经完成,已经可以开始部署javaweb
# 但是想要远程连接本地数据库还需要其他设置,这一步可有可无,但是如果设置好,以后管理服务器数据将会非常方便,后面的内容会提到。
3.以上过程的两步补充
第一步:获取数据库密码,首先安装xftp工具。
xftp下载连接:
Xftp5怎么安装?Xftp5安装破解教程介绍 - 系统之家 (xitongzhijia.net)http://www.xitongzhijia.net/xtjc/20191113/167482.htmlhttp://soft.xitongxz.net/201911/Xftp5_V5.0.1090_XiTongZhiJia.zip
http://soft.xitongxz.net/201911/Xftp5_V5.0.1090_XiTongZhiJia.zip
xftp使用方法:文件 -》 新建 -》 (名称自取,主机是服务器公网IP,协议选择sftp,端口22, 账号密码都是服务器的, 然后确定连接)
连接成功后,xftp上有2个窗口,左窗口是本地资源管理器,右窗口是云服务器资源管理器。
找到右窗口的文件 /etc/mysql/dibian.cnf 查看里面的password,这就是密码。
即可
第二步:远程登录数据库设置。
关闭防火墙,找到 /etc/mysql/mysql.conf.d/mysqld.cnf 将 bind-address 设为 0.0.0.0。
即可
# 关闭防火墙(不推荐)
# 若没有防火墙先下载
sudo apt install ufw
# 查看防火墙状态
sudo ufw status verbose
Status: inactive表示关闭 active表示启动
# 启动防火墙(enable-》disable是禁用)
sudo ufw enable
# 开放某些端口
sudo ufw allow 53 允许外部访问53端口(tcp/udp)
保证 3306,8080,80等之前提到的端口号开放
4.部署javaweb
首先导出war包,每个IDE都不同。
这里就不一一赘述了。
获得war包,回到xftp,右窗口进入到 /var/lib/tomcat9/webapps
左窗口进入到war包所在页面,将左窗口war包传输到右侧,然后javaweb项目就已经部署到服务器上了,接下来需要以下操作。
保证Tomcat启动,把javaweb项目所用的数据库文件导出为.sql,服务器登录到mysql,然后一句一句执行.sql文件里的代码(如果已经远程登录到服务器,可以直接将SQL文件导入),项目部署完成。
重点:mysql在Windows与Linux下有一个很大不同,Windows下mysql的数据库名称,表名称不区分大小写,而Linux下严格区分(应该可以设置为不区分,但是我没有成功)。
以上所有过程执行完毕以后理论上来说已经可行,远程登录你的网站进行测试,网址:
http://服务器公网IP地址:8080/war包名称(不包括后缀)
若能登陆成功,则表名服务器部署成功。
5.域名解析
域名解析只需要按照你购买域名服务商的教程来即可,但是注意一点,只要你的服务器内容端口号不是8080,即使配置好了域名依然需要端口号,例:http://域名:8080/war包名称(不带后缀)
域名解析需要备案后才能使用,否则依然要使用 http://服务器公网IP地址:8080/war包名称(不包括后缀)
进行到这里已经可以对你说一声恭喜了,我是从2022年1月22日 19:57:00开通的服务器,那时候啥也不懂,一路麻烦不断,一直到24日下午才完全搞定,后面发现源码有一点小漏洞,懒得改了,大家注意一点,如果你要重新部署war包,一定要把之前的删除干净(包括war包和war包解压出来的文件夹)。
服务器部署javaweb到此就要结束了,因为是做完之后进行的回顾,过程上可能细节有一点问题,还请谅解,毕竟我也是个小白啊。
我的网站地址 :http://121.196.246.4:8080/StudentManager_javaweb__war/
域名未备案:www.karrysong.top:8080/StudentManager_javaweb__war/
6.Tomcat配置默认域名
tomcat配置通过域名访问项目,是修改conf/server.xml里面的配置信息实现。
具体如下:
(1)修改Connector节点的port属性值
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
端口8080改成80
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
(2)修改Engine节点的name属性值
<Engine name="Catalina" defaultHost="localhost">
localhost修改成域名,这里假设为xxx.com
<Engine name="Catalina" defaultHost="xxx.com">
(3)修改Host节点的name属性值
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
localhost修改成域名
<Host name="xxx.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
(4)在<Host name="xxx.com" ...</Host>节点里面最后位置加上节点信息,docBase为项目绝对路径
<Context path="" docBase ="D:\deploy\cm" reloadable="false"></Context>
第六步摘抄自:tomcat配置通过域名访问项目 - gdjlc - 博客园 (cnblogs.com)https://www.cnblogs.com/gdjlc/p/11091181.html