这段时间实训做了一个网上订餐的项目,也闲来无事就想着把项目部到服务器上,下面是我的部署过程和遇到的一些问题,因为服务器是刚租的所以云服务器上啥也没有。
布置web项目所以还是离不开 Web 项目部署的那三点:
- 基础的 JDK 环境
- 一个 Web 服务器。如 Tomcat
- 一款数据库。如:mysql
所以 一步一步按部就班的来
一、首先JDK的安装配置
一、下载、安装JDK
- 官方网址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
进去下载就ok - 下载好以后就可以进行一直下一步的傻瓜式安装了
注:安装路径不要有中文或者特殊符号如空格等。
当提示安装JRE时,可以选择不安装。
如果是自定义安装,安装的路径一定要记住。
下面演示的是自定义安装,win10操作系统,JDK1.8版本安装
耐心等待安装。这里弹出是否安装JRE,正如前面所说,JDK包含有JRE如果不想安装则叉掉,如果想安装,在刚刚创建的Java文件夹中新建一个名为jre1.8.0_65的文件夹.。然后点击下一步
耐心等待安装完成。
安装完成后,点击关闭
二、环境变量配置
为了方便java程序的开发,我们需要配置一下环境变量。右击此电脑>属性>高级系统设置>环境变量>单击[新建(W)]添加以下环境变量
1、配置JAVA_HOME
新建
JAVA_HOME
变量名
JAVA_HOME
变量值 D:\Java\jdk1.8.0_6 你的jdk的安装地址
2.配置CLASSPATH
新建 CLASSPATH
变量名 CLASSPATH
变量值 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
3.配置PATH (追加)
在PATH变量最后面添加两条变量值
变量名 Path
变量值 %JAVA_HOME%\bin
变量值 %JAVA_HOME%\jre\bin
三、 测试是否安装成功
分别输入javac
和java -version
查看当前java选项和java的版本,可以查看则代表安装成功
JDK完成!
二、tomcat的安装配置
一、下载Tomcat
官网:http://tomcat.apache.org/
** 1.选择下载版本(本文以Tomcat9为例)**
2.根据自己的系统选择相对应的(我是win64)
3.下载完成
二、解压安装
1.解压压缩包、放到想要放的盘符(记住路径)
2.配置环境
- 进入坏境变量,新增系统变量
- 变量名 CATALINA_HOME
- 变量值 解压文件夹的路径
找到Path,末尾追加%CATALINA_HOME%\bin;
三、验证是否配置完成
1.进入命令行窗口 (Windows键+R,输入cmd,回车)
2.输入 startup.bat 回车 (也可以到你解压的tomcat文件夹下的bin目录中点击startup.bat 启动Tomcat)
这里出现了乱码(乱码解决方案:乱码解决方案)
注意刚才哪一步是要先安装好jdk 要不然会报错具体是啥错 我记不清了反正会说jdk的问题 一个是找不到jdk吧
3.如上图所示已经Tomcat启动成功了,验证环境变量是否配置成功
浏览器输入一下 http://localhost:8080/
如果出现下图说明配置成功了
一:mysql官网下载
https://dev.mysql.com/downloads/file/?id=494993(mysql官网下载地址)
不用注册,直接下载就好
二、解压缩
解压后的目录并没有的my.ini文件,那么自己配置。自行创建在安装根目录下添加的my.ini,写入基本配置:
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\Program Files\MySQL
# 设置mysql数据库的数据的存放目录
datadir=C:\Program Files\MySQL\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
请注意路径一致,不会改的就和我一样就好。
三:初始化mysql用管理员身份运行cmd
进入mysql文件夹bin目录
并运行指令 mysqld --initialize --console
这个是初始密码,一定要记下来,后期会用到!!!!如果此步骤报错,说明缺少微软运行所需要的一些库,自行百度添加(这个确实是这样的,因为也是新的服务器干干净净的,所以我在远程服务器配置的时候就出现了这个问题)
解决也很简单去百度一下这个问题就可以找到 答案了
四:安装及启动mysql服务
安装mysql服务执行
mysqld --install [服务名] 服务名可不加,默认为mysql
很好,成功,服务安装成功后通过命令
net start mysql
启动mysql服务
mysql也ok了!
刚刚让大家记住的密码,嗯哼,对没错就是那!如果你忘了或许会有点小麻烦,网上满地都是,自行百度mysql忘记密码。密码修改在mysql的bin目录下 进行数据库连接 mysql -u root -p
显示正常,再输入指令
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
然后自己又 弄了navicat可视化工具大家都懂 就不说了
到现在环境已经就准备好了现在就去idea打war包
下面是idea到war包的详解1.首先选择你要打包的项目,然后点击File–>ProjectStructure或者直接用快捷键Ctrl+Alt+Shift打开项目结构,如下图所示
2.再在Artifacts选项卡中点击‘+’号,按照下图步骤执行
就能得到一个xx:war包,Output directory就是之后编译该项目后 war包的存放路径
3.接下来点击Build—>Build Artifacts,然后选择xxx:war—>Build即可
4.最后你就能在之前的选择的Output directory下找到该项目的war包了
把导出的war包放到远端服务器tomcat里的- 将压缩成功的项目放到Tomcat的webapps文件夹下
- 在tomcat的bin目录下点击startup.bat启动tomcat 然后窗口最小化
- 打开浏览器输入:http://你的主机ip地址:8080/项目名称/访问的首页.jsp
在同一局域网的电脑上也可以访问该windows服务器了,输入同上地址即可。
基本上这就大体上完成了
运行一下 当然是不可以了 我的项目就开始报错 500 截图我没有了 我也没想在找出来 具体的原因就是 我的jsp中的注解 有中文之后就乱码了 所以 继续百度!!!
我找的是下面的 起初看了一眼感觉我的不是这个问题 但回来好多办法都试过了 还是不想 又搜到了这个 所以就试了试 果然ok了 下面是具体过程解释 **在Tomcat的配置文件server.xml中, 有了一段中文注释:**
而后,服务器不能启动了,XML的声明是:
难道XML不支持中文?utf-8可是支持中文的哦! 原来是这样的:
server.xml配置文件中的encoding告诉Tomcat以utf-8编码方式去解释这个文件的内容,可居然发现中文字符不是utf-8编码的,是其他的编码,那它也就蒙了。
果不其然:
我将这个文件的编码方式保存为了ANSI的,Oh,下面只需要将选择Encode in UTF-8 without BOM,将这个文件以utf-8进行编码,最后服务器也因此而跑了起来……
这都是别人写的 对我的也是这样解决的
到这里的时候在服务器本地访问我的程序就算是可以了,但是我在我自己的电脑上还是不可以
继续百度!!
解决方案:我到阿里云的服务器管理界面,找到防火墙的相关配置(配置端口),然后发现8080端口没有开放,而我服务器tomcat的server.xml配置文件中配置的Connecter监听端口为8080,是不是豁然开朗?人家服务器门都没给你开呢,咋访问,于是就做了如下设置,cua的一下,我的电脑就能访问远程tomcat 了。
具体咋修改的自行百度就ok了 很简单
最后就可以任意访问自己的网站了