技术标签: java javaweb项目部署到linux服务器 linux mysql vim 数据库
(包括jdk安装配置、tomcat安装配置、部署方法以及部署过程中遇到的一些问题和解决方法)。
目前对于很多学过javaweb的同学来说,大多只是会在windows环境下利用像ecplise、my ecplise、vscode这样的软件来完成网页项目的设计,但是目前主流的服务器一般都是linux服务器,所以当我们完成一个网页项目的设计和实现的后,放手停留在windows系统上,这样的做法就像是一百步走了99步,最后一步放弃了,而更好的做法就是学会将自己做的项目发布到服务器上去。目前主流的服务器都是linux或者unix系统的环境。因为这两种操作系统安全性比较高还有就是效率这方面也比较高。所以这次我们主要给大家分享一下javaweb项目部署到linux服务器的方法。
我们在部署项目之前需要安装一些linux上的工具来配置好他的环境,这样我们的项目在部署到服务器上才能正常使用。
这里虚拟机已经安装好并且可以正常使用(能连网)。
步骤:
1.进入进入终端(利用xshell连接服务器)
2.查看是否有原先的java jdk : rpm -qa | grep java
3.删除现有的java文件:rpm -e --nodeps 文件名
4.创建存放jdk的目录(命令):mkdir /usr/local/java
5.利用xftp或者winscp将我们下载好的jdk上传到服务器上刚刚创建的java目录下
6.到终端上查看文件并解压:解压命令: tar -zxvf jdk-8u161-linux-x64.tar.gz
7.配置linux服务器上面的java的环境变量:vim /etc/prifile
在配置文件的最下面添加然后保存并退出:(vim命令不会用和以下环境变量含义不清楚的童鞋去百度一下)
JAVA_HOME=/usr/local/java/jdk1.8.0_161
JRE_HOME=/usr/local/java/jdk1.8.0_161/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
8.重置一下我们修改了的这个配置文件:source /etc/profile
9.这时候我们看一下java的版本:java -version
这时候看到java:未找到命令的错误,原因是我们还需要去下载一个合适我们的jdk,这样就可以正常使用了。
10.看一下jdk相关的安装包:yum search java | grep jdk
11.找到上述图片的这个版本的jdk进行下载安装:yum install -y java-1.8.0-openjdk-devel.x86_64
12.下载安装完毕后执行命令:java -version、 java、 javac
有相应的回显消息以及版本信息就说明java的jdk安装和配置成功了。
13.写一个小的java程序来做最后的检测:
创建java程序:touch First.java
编写第一个java程序:
public class First {
public static void main(String[] args) {
System.out.println("hello,world!");
}
}
编译这个java程序:javac First.java
运行这个java程序:java First
14.这里就把dk的安装讲完了,下面我们来将tomcat的安装。
1.创建存放tomcat的目录:mkdir /usr/local/tomcat
2.通过xftp或者winscp上传tomcat9.0安装包
3.解压安装包: tar -xvf apache-tomcat-9.0.41.tar.gz
4.查看解压是否成功:ls
5.进入tomcat解压包内开启tomcat服务:sh startup.sh
6.在linux虚拟机的桌面端打开tomcat:localhost :8080
有这个界面说明我们的tomcat在linux服务器上部署成功了,本地可以访问,下面要做的就是让服务器能被其他用户访问。
7.开放8080端口:
第一步:检查防火墙状态(必须是开启的)
systemctl status firewalld
第二步:开放800端口:
firewall-cmd --add-port=8080/tcp --permanent
如果发现有:bash: firewall: 未找到命令...
这个错误
输入这条命令安装firewall:yum install firewalld
第三步:重启防火墙:
systemctl restart firewalld
第四步:重新加载配置:
firewall-cmd --reload
第五步:在windows环境下访问linux安装的tomcat服务
在windows网址上输入:服务器ip地址:8080
这样就代表成功了。
8.将我们的windows中的创建的web项目部署到llinux服务器上试一下能否正正常使用。
第一步:这里我们用最最简单的web项目文件就行了,因为到这里的话我们数据库还没安装,所以这里用myecplise默认创建的项目即可。
第二步:将创建好的web项目的war包导出。(导出方法可以看我其他的帖子)
第三步:将导出来的war包上传到服务器tomcat文件中webapps的这个文件夹里面。
第四步:重启tomcat服务。并通过windows网址访问这个web项目。
网址栏:服务器ip:8080/web项目名称
9.这里tomcat服务就已经搭建好了。
1.创建存放mysql的目录:mkdir /usr/local/mysql
2.用文件传输工具将mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar包上传到mysql文件夹中去。
3.解压MySQL安装包:tar -xvf mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar
4.删除服务器内自带的数据库mariadb:
rpm -qa | grep mariadb
rpm -e mariadb-libs-5.5.65-1.el7.x86_64 --nodeps
5.这里要安装四个安装包:
1.mysql-community-common-8.0.22-1.el7.x86_64.rpm
2.mysql-community-client-8.0.22-1.el7.x86_64.rpm
3.mysql-community-libs-8.0.22-1.el7.x86_64.rpm
4.mysql-community-server-8.0.22-1.el7.x86_64.rpm
安装命令:
rpm -ivh mysql-community-common-8.0.22-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.22-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.22-1.el7.x86_64.rpm --force
rpm -ivh mysql-community-server-8.0.22-1.el7.x86_64.rpm --force
6.初始化mysql:mysqld --initialize
7.防火墙配置:
chown mysql:mysql /var/lib/mysql -R //授权防火墙
systemctl start mysqld
systemctl enable mysqld
8.获取数据库初始密码:cat /var/log/mysqld.log | grep password
可以看到这里生成的随机密码是etXHD9hPP2(X
9.登录数据库:mysql -uroot -p
注意:在写密码的饿时候没有回显,所以直接复制粘贴回车就好,不要怕没写上密码。
10.更改数据库密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; //root是自己更改后的密码
11.使用新密码登录:
12.目前已经安装好数据库了,现在要做的就是管理数据库。这里使用的是Navicat.
13.数据设置远程访问:
create user 'root'@'%' identified with mysql_native_password by 'root';
放开权限:grant all privileges on *.* to 'root'@'%' with grant option;
重新加载配置:flush privileges;
14.开放3306端口:
firewall-cmd --add-port=3306/tcp --permanent //开放3306端口
systemctl restart firewalld //重启防火墙
firewall-cmd --reload /重新加载防火墙配置
15.连接windows上面的Navicat进行测试:
上述图片内容表示配置成功。(如果还有连不上的话可能就是mysql的时区问题,解决命令(数据库):set global time_zone=‘+8:00’;)
目前很多服务都是部署在linux环境下的,掌握如何将项目发布到服务器端对我们自身有很大的好处,这个帖子把项目部署linux所有的环境软件配置讲的非常详细,希望大家看了有所收获,第一次写帖子,希望多多支持,爱你们!
文章浏览阅读1.2w次,点赞10次,收藏13次。uniapp使用uview组件的Collapse 折叠面板,动态渲染之后计算面板的高度在uniapp里会有使用uview的Collapse折叠面板的情况,但在动态渲染数据之后,面板的内容会显示不全,这时候可以使用ref来重新获取高度;<u-collapse ref="collapseView"> <u-collapse-item :title="item.head" v-for="(item, index) in itemList" :key="index"> {{it_collapse 折叠面板高度问题
文章浏览阅读6.8k次,点赞13次,收藏67次。在当今互联网时代,实时通信已成为很多应用的需求。为了满足这种需求,WebSocket协议被设计出来。WebSocket是一种基于TCP议的全双工通信协议,通过WebSocket,Web应用程序可以与服务器建立持久的连接,实现实时双向数据输,提供极低的延迟和高效的数据传输。_前端websocket
文章浏览阅读1k次,点赞24次,收藏17次。画图干货教程,零基础快速绘制线框图、流程图、架构图、思维导图、UML系列图、网络拓扑图、图文混排、日常ppt插图、ER图、数据库模型图、韦恩图、鱼骨图等等,一软搞定。 _pddon
文章浏览阅读1.2k次,点赞2次,收藏2次。梦开始的地方!补之前答应的Python环境配置,在Gitbook上进行修改了一下。当成自己的小笔记趴,侵权即删!安装Python想要进行Python开发,首先需要下载和配置Python解释器。下载Python访问Python官网: https://www.python.org/点击downloads按钮,在下拉框中选择系统类型(windows/Mac OS/Linux等)选择下载最新版本的Python安装Python双击下载好的Python安装包勾选左下角Add Python 3_pycharm需要的环境配置
文章浏览阅读1k次,点赞2次,收藏11次。随着社会的发展,计算机的优势和普及使得音乐播放器管理系统的开发成为必需。音乐播放器管理系统主要是借助计算机,通过对首页、音乐推荐、付费音乐、论坛信息、个人中心、后台管理等信息进行管理。减少管理员的工作,同时也方便广大用户对个人所需音乐的及时查询以及管理。音乐播放器管理系统的开发过程中,采用B / S架构,主要使用Java技术进行开发,结合最新流行的SpringMVC和Mybatis的SSM框架。中间件服务器是Tomcat服务器,使用Mysql数据库和Eclipse开发环境。该音乐播放器管理系统包括用户、会_本实验以“音乐点播管理系统”为例,针对用户的特点,确定系统的功能: (1)用户管理:
文章浏览阅读773次,点赞9次,收藏10次。每年转战互联网行业的人很多,说白了也是冲着高薪去的,不管你是即将步入这个行业还是想转行,学习是必不可少的。作为一个Java开发,学习成了日常生活的一部分,不学习你就会被这个行业淘汰,这也是这个行业残酷的现实。如果你对Java感兴趣,想要转行改变自己,那就要趁着机遇行动起来。或许,这份限量版的Java零基础宝典能够对你有所帮助。如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)[外链图片转存中…(img-YSVRtu3l-1712091133557)]
文章浏览阅读516次。下载好opencv4.3.0的源码之后,先不要急着编译,需要对源码进行修改:需要修改的地址为:文件存放位置\opencv\sources\photo\test\test_hdr.cpp加入包含文件:#include<ctime>#include<cstdlib>然后在cmake-gui将source code 选择到source文件夹,build binaries自行创建然后选择。选好之后点击configure,使用如下选项:然后next,编译器选择自己的编译器,_vs2017 + qt vs tools +opencv4.3.0 编译出错
文章浏览阅读4.3k次。1.在app->Console->Commands中新增类 继承 Illuminate\Console\Command<?php namespace App\Console\Commands; use Illuminate\Console\Command; class TestCommand extends Command{ /** * 命令行执..._"lumen command \"user-level-fate\" is not defined."
文章浏览阅读4.8k次。http://m.elecfans.com/article/586773.html_数据低通滤波 截至频率
文章浏览阅读2.7k次,点赞11次,收藏24次。3_opengl 渲染一个模型
文章浏览阅读193次。GNOME界面CentOS下的文件夹打开方式,默认是打开一个文件夹就重新的打开一个窗口,并不是在原有的文件夹中显示要打开文件夹的内容。怎么修改:打开任意一个文件夹。Edit --> preference --> Behavior --> Always open in Browser Windows.怎..._登录gnome 图文说明
文章浏览阅读4k次,点赞2次,收藏6次。valueOf() 方法有以下几种不同形式:valueOf(boolean b):返回 boolean 参数的字符串表示形式。.valueOf(char c):返回 char 参数的字符串表示形式。valueOf(char[] data):返回 char 数组参数的字符串表示形式。valueOf(char[] data, int offset, int count):返回 char 数组参..._java valueof