在linux服务器上发布web应用的完整过程
首先你要有一个完整的web应用的小Demo,一个简单的demo就可以了,但是要涉及到数据库,笔者这里简单的模拟一个登陆的过程。
在本地测试,访问项目:

键入账号密码,点击登陆:

就是这么个简单的动作,下面把它部署到linux服务器上,在linux服务器上需要安装jdk(1.8)、tomcat8、mysql。这里先用本机的虚拟机里的linux做模拟,后边再部署到真正的服务器上,这里使用的linux是CentOS6。使用Xshell连接安装好的linux系统,点击Xftp工具,将所需的安装包上传到服务器上:

上传jdk、tomcat,mysql后边使用yum方式安装:

使用tar -zxvf jdk-8u40-linux-x64.gz命令解压jdk:
使用mv jdk1.8.0_40/ jdk1.8命令将解压包更名为jdk1.8:
配置环境变量,输入命令vim /etc/profile,在最下边添加代码:
export JAVA_HOME=/var/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
然后保存退出,输入source /etc/profile使配置的环境变量起作用,输入java -version,有如下页面就是安装成功了:

接下来解压tomcat,输入命令tar -zxvf apache-tomcat-8.5.13.tar.gz
输入mv apache-tomcat-8.5.13 tomcat8命令对解压后的文件更名名称
接下来安装mysql,输入命令yum -y install mysql-server mysql mysql-devel,结果为Complete!就是安装成功了。
输入service mysqld start启动mysql服务,然后输入mysql就可以进入mysql的命令行模式了,输入quit退出。
这里先把防火墙关闭了,输入命令service iptables stop,然后使用命令service iptables status查看防火墙状态。
mysql安装后默认是不能被远程连接的,这里要开启远程连接功能,输入mysql命令进入mysql的命令行模式,然后输入grant all on *.* to admin@'%' identified by '123456' with grant option;这里面的admin你是外部连接的时候使用的用户名,123456是密码,可以根据自己需要进行修改。然后输入flush privileges;进行刷新。在宿主机上使用mysql的工具进行连接测试:

登录数据库后进行相应的数据表结构的创建,建立好数据库之后,就要把你的项目部署到服务器上了。首先,找到你本机tomcat(不是服务器上的tomcat)下webapps文件里的你的项目:

使用Xftp工具将这个编译后的项目上传到服务器的tomcat的webapps文件目录里:

进入tomcat8目录下
,输入bin/startup.sh启动服务器的tomcat
在宿主机上输入虚拟机地址:8080/ssm-v5.0进行访问:

访问成功!输入账号密码进行登录(这里需要注意的是,在本地测试的时候,数据连接时可以用localhost,在服务器上也可以使用,但是linux的mysql安装完成后,默认的用户名为root,密码为空,就是什么也不用输入,需要注意一下)

登录成功,至此,整个项目就部署完毕了,下面进行一些设置,首先,去掉8080端口:
首先进入到tomcat的conf目录下
,使用vim server.xml对其进行编辑:

将这里的8080改为80,保存退出,重启tomcat服务器,进行访问:

接下来,在把项目名也省去,进入到tomcat服务器的webapps目录下,使用rm -rf ROOT将ROOT文件夹删除,然后使用mv ssm-v5.0 ROOT将自己的项目重命名为ROOT,重启服务器,再次访问:

如果这个ip地址是公网ip,那么再将你的域名解析到这个地址上,将可以使用www.xxx.com的形式对你的项目进行访问了。
到此告一段落!
在linux服务器上发布web应用的完整过程的更多相关文章
- Linux服务器上搭建web项目环境
一.下载并安装jdk 去官网下载linux系统上jdk的安装包jdk-8u181-linux-x64.tar.gz,在Linux的/usr目录下新建文件夹java,可以使用命令:cd /usr ...
- Linux上部署web服务器并发布web项目-转
Linux上部署web服务器并发布web项目 近在学习如何在linux上搭建web服务器来发布web项目,由于本人是linux新手,所以中间入了不少坑,搞了好久才搞出点成果.以下是具体的详细步骤以 ...
- Linux上部署web服务器并发布web项目
近在学习如何在linux上搭建web服务器来发布web项目,由于本人是linux新手,所以中间入了不少坑,搞了好久才搞出点成果.以下是具体的详细步骤以及我对此做的一些总结和个人的一些见解,希望对跟我一 ...
- Linux服务器上Tomcat的Web工程部署
Linux服务器上Tomcat的Web工程部署 部署Web应用到Tomcat服务器就是将开放好的JavaWeb应用打包成war包,然后发布到tomcat服务器的webapps目录下: 步骤1,先进入t ...
- 把 web 项目部署到 Linux 服务器上
1.打开 eclipse,在已经完成的 web 项目上面点击右键,选择 export,然后选择导出成 war 包. 以部署 SMBMS 项目为例 2.项目打包成 war ,选择项目导出到的位置. ...
- .NET跨平台之旅:将QPS 100左右的ASP.NET Core站点部署到Linux服务器上
今天下午我们将生产环境中一个单台服务器 QPS(每秒请求数)在100左右的 ASP.NET Core 站点部署到了 Linux 服务器上,这是我们解决了在 .NET Core 上使用 EnyimMem ...
- Linux服务器上监控网络带宽的18个常用命令
[51CTO精选译文]本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示. 一些命令可以 ...
- 在Linux服务器上配置phpMyAdmin
使用php和mysql开发网站的话,phpmyadmin是一个非常友好的mysql管理工具,并且免费开源,国内很多虚拟主机都自带这样的管理工具,配置很简单,接下来在linux服务器上配置phpmyad ...
- Linux服务器上监控网络带宽的18个常用命令(转)
本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示. 一些命令可以显示单个进程所使用的带 ...
随机推荐
- js复制内容到剪切板,兼容pc和手机端,支持Safari浏览器
最近,一些项目中用到监听用户复制.剪切的操作. 案例1.在PC端,当用户获得一个京东卡的使用券,当用户使用ctrl + C复制得到的使用券时,将使用券的代号复制到粘贴板,以便于用户ctrl+v进行 ...
- 通过哨兵机制实现Redis主从配置以及java调用
Redis版本:3.0.7 操作环境:Linux 一.redis 主从配置的作用是什么 redis主从配置,配置master 只能为写,slave只能为读,在客户端对poolconnect请求时候,, ...
- Excel图表-太极图
p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...
- git常见操作和常见错误
最近写了个博客demo,在上传至github时,居然报错了,刚开始学习代码上传,免不了遇到一些问题,报错信息如下: fatal: remote origin already exists. (致命错误 ...
- [认证授权] 3.基于OAuth2的认证(译)
OAuth 2.0 规范定义了一个授权(delegation)协议,对于使用Web的应用程序和API在网络上传递授权决策非常有用.OAuth被用在各钟各样的应用程序中,包括提供用户认证的机制.这导致许 ...
- ASP.NET自定义处理程序
要创建自定义处理程序,可以创建一个实现IHttpHandler接口的类. 该类有两个重要的参数:IsResuable属性和ProcessRequest方法.如果处理程序实例可以在不同的请求中重用,Is ...
- Oracle 数据导入导出操作 (转)
Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢 ...
- iOS开发tips-神奇的UITableView
概述 UITableView是iOS开发中使用频率最高的UI控件,在前面的文章中对于UITableView的具体用法有详细的描述,今天主要看一些UITableView开发中的常见一些坑,这些坑或许不深 ...
- ios 视频/图片压缩
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typica ...
- ES6 对let声明的一点思考
说到ES6的let变量声明,我估计很多人会想起下面几个主要的特点: 没有变量声明提升 拥有块级作用域 暂时死区 不能重复声明 很多教程和总结基本都说到了这几点(说实话大部分文章都大同小异,摘录的居多) ...