巴别塔合约作战终端开发日记2——Linux系统部署项目
1. 安装XShell和Xftp
其中Xshell用于输入Linux命令,Xftp可以方便地进行文件传输。
2. 连接服务器
之后输入用户名密码保存指纹秘钥就可以正常使用了。
服务器就是一台Linux主机,操作方式与Linux系统操作相同。剩下的部署内容,可以简单的理解为:在Linux电脑上把要用的东西安装好,然后再开放防火墙。
3.部署
后端服务器部署
存放springboot程序,也就是我们的jar包。
0.记得配置JDK环境
1. 使用Xftp上传jar包至自定义位置
2. 使用java命令 启动jar包
java -Xmx1024M -Xms1024M -jar babelcontract-1.0.0.jar
之后就可以正常启动。还有什么参数可以根据需求添加。
3. 启动成功后就会像idea中的控制台一样,打印日志信息
但是问题来了,我把Xshell关了之后,程序就停了,这玩意儿要一直启动着,咋办啊?
4. 安装screen命令
根据Linux操作系统不同,有不同的安装方式。我的服务器有AlibabaLiunx,Unbantu,Centos。
使用的命令都不同
apt-get updateapt-get install screen#或者yum install screen
安装成功后就可以使用了。
screen命令使用方式
screen命令会帮我们创建多个命令行窗口。我们可以通过screen命令进入不同的命令行窗口,来保证指定窗口不会被关闭,处于后台运行。
常用命令:
1. screen -ls 查看当前窗口列表
2. screen -S <窗口名称> 创建一个指定名称的窗口并进入(名称大小写敏感)
3. screen -r <窗口名称>/<窗口编号> 进入指定的窗口
4. screen -d <窗口名称>/<窗口编号> 将指定窗口的状态设置为Detached
5. ctrl + a + d 退出指定窗口,让其在后台继续运行,同时将状态设置为Detached
我对于screen命令没有过多地研究,只是作为工具使用。
有了如上五条命令后
创建一个新窗口并运行jar文件
第一步: screen -S babelcontract 创建一个名为babelcontract的窗口
第二步: 第一步之后会自动进入该窗口,在这个窗口执行java -jar命令运行jar包
第三步: 待运行成功后,ctrl + a + d 退出窗口,就可以让babelcontract窗口正常在后台运行啦。
想要回到窗口的时候:
第一步: screen -ls 查看当前窗口列表
其中红框为窗口id(具体是什么我也没研究,只知道是唯一标识的,就先叫做id吧) 黄色框为名字 紫色框为窗口状态
第二步: screen -r 113945 即可返回该窗口
第三步: 执行完期望的操作后,ctrl + a + d 返回即可。
因为网络问题断连之后
因为网络问题断连之后,窗口不会处于Detached状态。这个时候可能会出现使用screen -r无法返回的问题。这个时候只需要使用screen -d 113945 让目标窗口状态变为Detached状态。再次使用screen -r即可返回。
更多screen命令可以深入学习,只要掌握这五个,是够用的。
Redis服务器部署,MongoDB服务器部署,MySQL服务器部署
我购买的服务器都是普通的Linux主机,这些需要自己配置。
Redis和MongoDB的使用方式和Linux中的操作方式一致。安装教程网上有很多。安装完即用。
但是MySQL安装比较复杂。推荐使用宝塔面板。宝塔面板中可以快速安装MySQL。比较方便。
前端服务器部署
虽然前端页面是Vue做的,通过Node.js可以直接访问,但是我嫌麻烦还是用了比较简单顺手的Tomcat。
安装Tomcat网上也有很多教程,使用也很简单。装完之后,把打包好的Vue放进去启动就好了。
设置80端口访问主页
为了好看,大家能直接输入域名访问到网站主页,需要将端口设置为80,因为http默认访问端口为80。
#加端口号不好看
http://www.bable.ink:8080#直接输入域名访问的是80端口
http://www.babel.ink
tomcat默认端口为8080,需要去修改server.xml配置文件。
修改步骤:
第一步:找到tomcat安装目录下的conf文件夹中的server.xml文件
第二步:修改端口号,将如图所示位置的参数由8080设置为80。
第三步:添加默认启动路径,在<Host>标签中添加如下内容
<Context path="" docBase="../webapps/Babel" reloadable="true"/>
其中docBase即为默认路径,我的项目存放在webapps下的Babel文件中,路径设置为Babel或者../webapps/Babel都可以。只要没动web.xml中的如下配置,访问会默认打开目录下的index.html
如果有自己默认的主页,定义的名称不是index,那就去web.xml里面找到上图部分添加一条就好了。比如有自己定义的myIndex.html 就添加一条<welcome-file>myIndex.html</welcome-file>
4. 开放防火墙
租用的服务器需要去开启端口访问权限不然是访问不到的
之后就可以正常访问啦。
踩坑记录
Linux和windows不太一样,部分配置在windows上生效但是,linux上不一定生效,还有一些比较特殊的东西。
邮件发送
项目涉及到一个邮件发送的需求。使用的是SpringBoot自带的邮件发送。
邮件发送功能默认使用的是25端口,但是阿里云服务器为了安全,没有开放25端口,需要额外在application.yml中添加配置。
#Linux操作系统特殊处理 阿里云服务器没有25端口 所以设置: 使用465端口发送邮件 并启用SSL加密
spring.mail.properties.mail.smtp.socketFactory.port: 465
spring.mail.properties.mail.smtp.ssl.enable: true
数据库开放远程连接
数据库默认是不支持远程连接的,项目往往要求mysql需要单独部署在一台服务器上进行远程连接。需要手动设置。我用的是mysql5.6,使用如下命令开放即可:
grant all PRIVILEGES on <数据库名>.* to <用户名>@'<目标主机IP>' identified by '<密码>';#其中目标主机IP是指,想要让mysql放行哪台主机,就写哪台主机的IP。
#比如现在要88.88.88.88连接本机mysql,这个位置就写88.88.88.88
放行之后就可以正常通过JDBC远程连接了,用户名密码和IP必须都对应。
巴别塔合约作战终端开发日记2——Linux系统部署项目相关推荐
- 巴别塔合约作战终端开发日记3——服务器负载优化
对于性能优化方面,首先服务器硬件配置还有2核2G内存5MBPS带宽.从硬件上来说其实并不支持太多的访问量,即便是加了Redis作为高速缓存,效率也堪忧.需求方面存在一条:活动会在定时开放,并且为了竞技 ...
- 巴别塔合约作战终端开发日记4——后端效率优化
注册优化 注册功能存在很严峻的短时间访问压力,并且这个功能会直接影响用户体验(我连账号都注册不了何谈后续呢?).为了防止这个问题的发生,一共经历了三个阶段的修改: 第一版:写锁+数据库判重+直接数据库 ...
- linux部署项目文档,Linux系统部署项目
Linux系统部署项目 在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署.在下文中$CATALINA_HOME指的是Tomcat根目录. 一.静态部署 静态部署指的是我们在服 ...
- 巴别塔合约终端开发日记1-----技术选择
巴别塔合约终端开发日记1-----技术选择 需求 拿到开发任务之后,组里给出的开发时间差不多两个月左右.由于开发人员只有我自己一个人,开发时间还是比较紧张的.在开头的时候很重要,避免频繁修改代码才能尽 ...
- 烧录imx6需要的linux空间,IMX6Q学习笔记——开发板的Linux系统更新和烧录
IMX6Q学习笔记--开发板的Linux系统更新和烧录 记录自己在电鱼电子开发SAIL-IMX6Q全能板后,并且对系统和模块进行简单测试的过程之后对开发板的Linux系统进行更新和烧录的记录过程,算是 ...
- 电脑向linux板卡传文件,ARM 开发板嵌入式linux系统与主机PC通过串口传输文件
ARM 开发板嵌入式linux系统与主机PC通过串口传输文件 本来以为按以下两篇文章就可以几步轻松搞定这个问题,没想到遇到两个小麻烦: 1,我用的xp虚拟机下redhat9.0做主机,按照下面第一篇文 ...
- Friendly ARM开发板安装Linux系统教程
友善之臂ARM9开发板安装Linux系统教程 前言:智能蘑菇房项目的运行环境是友善之臂ARM9开发板,所以需要在上面灌一个linux系统,下面我来简单介绍一下. 准备 读卡器 SD卡 串口线一根(US ...
- 只需4步,让OKA40i-C开发板的Linux系统拥有中文显示
如果你试着在Linux系统里面输入中文,那么将会有一片乱码呈现在你面前,这是因为Linux系统的默认语言是英文.但是如果可以显示中文的话,那么在使用过程中的便利程度一定会大大提升.今天小编就通过飞凌嵌 ...
- 阿里云自动java和mysql数据库_阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程)...
阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程) (仅此纪念人生第一篇学习博客) 前阵子接了一个小小的JavaWe ...
最新文章
- 【Windows系统】基于vscode搭建go语言开发环境
- 关于网络连接方式的总结(HostOnly,NAT....)
- mysql 安全扫描_MySQL 安全和监控 - Can't Wait Any Longer - OSCHINA - 中文开源技术交流社区...
- TSP_遗传算法求解
- Qt C++ 检测优盘插入或拔出
- 地铁上怎么那么多钢管女郎?
- MySQL 十大常用字符串函数
- 记忆集、卡表、G1垃圾收集器简介
- python日期格式转换成13位时间戳_python生成13位或16位时间戳以及反向解析时间戳的实例...
- Linux 下 I/O 多路复用技术 epoll
- Excel导入-----导出(包含所选和全部)操作
- C#获取%AppData%路径的方法
- linux 基础命令汇总
- 软件项目管理的重点知识
- 华为无线模板之间的应用关系图
- 企业文化海报设计模板,企业文化经典标语挂图素材
- 河北档案费2016年取消
- img ,background-img,background-size
- 重定向和转发的概念及区别
- 《大长今》分集剧情介绍(上)
热门文章
- dns劫持 tplink_路由器dns被劫持有什么后果【图】
- 关于斐讯K2路由器 j.s9w.cc 劫持的问题。
- 信号的反射(振铃、台阶、回勾、尖峰毛刺)
- 【转】编写高质量代码改善C#程序的157个建议——建议64:为循环增加Tester-Doer模式而不是将try-catch置于循环内...
- 优先级反转的经典案例——火星拓荒者
- 经典回顾:福禄克FLUKE DTX-1800如何配合DTX-LABA测试6A,7类跳线patchcord
- 属相婚配php,属兔的属相婚配表_属兔的最佳属相婚配
- MySQL中like查询是否会使用索引
- 乖离率背离公式_股价偏离率是什么 BIAS指标计算公式-BIAS-技术指标-股票入门基础知识学习网...
- 日期控件--WdatePicker的使用小技能