javascript --- 在linux上部署项目

最近对照视频,用bootstrap + jquery 写了一个纯前端页面.想把它放在服务器上,供远程使用.

准备服务器和域名

我服务器和域名是在腾讯云上租的,网址: https://cloud.tencent.com/
注: 域名很便宜,挑个好的哈哈哈… 服务器(阿里云有个学生价…但是我那个学生价的账号找不到了…).还好腾讯云免费给我用了14天…

服务器信息如下:
在这里插入图片描述
我的公网ip是130.155.146.151 后面会用域名系统 映射到该ip (注,购买服务器后,大概10分钟会发邮件,告诉你登录的名称,密码…这个时候才能用)

将域名对应到ip:
在这里插入图片描述
我的域名是lzhhc.cn(7块钱一年…真心便宜)
点击解析
在这里插入图片描述
快速添加网站/邮箱解析 -> 网站解析 -> 输入刚才的公网ip

在这里插入图片描述
完成后,就可以将域名对应到 130.155.146.151 上面

准备好公用ip和方便记忆的名称后. 下面需要将程序暴露出来(tomcat+ java).

下载好以下的两个包
apache-tomcat-7.0.96.tar.gz
jre-7u79-linux-x64.tar.gz

使用 **FlashFXP **: 将tomcat和java传到 远程服务器(130.155.145.151)上
在这里插入图片描述
在这里插入图片描述
根据腾讯云发给你的邮件填写.
完事后就可以传文件了(比较慢,耐心等待)…

创建一个demo目录 并将需要的依赖都放进去:
在这里插入图片描述
下面分2步:
1.配置java全局环境.
2.修改tomcat里面的8080(默认)端口号为80

在这里插入图片描述
在这里插入图片描述
登录后就进入了远程服务器的linux命令行界面了。
使用命令进入配置环境变量

# 1.
vim /etc/profile# 2. G命令跳到文件尾部 小写的 i 进行输入# 3. 在末尾添加
JAVA_HOME=/root/demo/jdk1.8.0_181
PATH=/root/demo/jdk1.8.0_181/bin:$path
export JAVA_HOME PATH# 4. ESC 然后 :wq 保存退出

上面我们,配置好了java的环境变量(此时未生效,需要重启终端.),接下来我们修改tomcat的配置文件.

# 1.
vi /root/demo/apache-tomcat-7.0.96/conf/server.xml# 2. 按/8080 快速检索到 8080 将其修改为80# 3. ESC :wq  保存并退出

全部配置完毕后,将自己的项目导入/root/demo/apache-tomcat-7.0.96/webapps/

然后重启终端!进入tomcat的bin目录执行 sh startup.sh

cd /root/demo/apache-tomcat-7.0.96/bin/
sh startup.sh

在这里插入图片描述
Tomcat started代表启动成功.
可以在浏览器输入 lzhhc.cn/02 访问到了…(这个项目 我做了不到2天。。。 将就看吧).

PS:

# 查询tomcat:
ps -ef|grep tomcat# 删除tomcat 线程
kill -9 id

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/250889.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

11 父子组件数据关系与状态提升

含义 状态提升:两个组件(无父子关系)共享一个数据并且同步数据变化类组件调用(实例化)的时候,组件内部的状态是唯一且独立的组件嵌套与调用,和是类组件(render)还是函数…

工具分享 --- 分享一个在线制作ico的网站

还不错… 生成后一般放在imgs的下面. link:favicon tab 导入链接http://www.faviconico.org/

laravel迁移文件

laravel迁移文件的命令 Laravel鼓励敏捷、迭代的开发方式,我们没指望在第一次就获得所有正确的。我们对于自己编写代码,可以通过迁移文件,不断的重复去测试.对于工作,我们开发一个完整的项目,是需要我们每个人相互配合,就好比用svn,git版本控制工具来存储…

12 组合与继承、CSS Module

组合与继承 若Container内部有内容,React会在props内部增加children属性若Container内部有非元素内容,children:非元素内容若Container内部有单个元素内容,children:React元素对象若Container内部有多个元素内容&…

工具分享 --- tinyPNG,大图片压缩工具

今天自己的写的项目跑在了远程服务器上… 图片加载的速度让人难以接受, 于是各种百度找到了一个在线找到了个图片压缩的网站 TinyPNG 可以看一下压缩的效果…真心不错啊… 网站如下: https://tinypng.com 额…有些大于5M的需要钱,才能压缩… 用系统画图工具…貌似也能压缩… …

14 代码分割之lazy:Suspense与路由懒加载

lazy内置方法 Suspense内置组件 lazy是React提供的懒(动态)加载组件的方法,React.lazy() 能减少打包体积、延迟加载首屏不需要渲染的组件 依赖内置组件Suspense:给lazy加上loading指示器组件的一个容器组件 Suspense目前只和la…

css --- 兄弟选择器

语法: /* 查找后边的一个兄弟元素 */ 兄弟元素 兄弟元素/* 查找后边的所有兄弟元素 */ 兄弟元素 ~ 兄弟元素<head><style>#maindiv {color: red;}#main~div {background-color: #e0e0e0;}</style> </head> <body><div id"main"&g…

15 错误边界与使用技巧

错误边界 React16增加防止某个组件的UI渲染错误导致整个应用崩溃子组件发生JS错误&#xff0c;有备用的渲染UI错误边界是组件&#xff0c;只能用class组件来写 错误边界组件捕获错误的时机 渲染时生命周期函数中组件树的构造函数中 getDerivedStateFromError 生命周期函数…

es6 --- Promise.all等待多个异步任务执行

项目中遇到一个问题,要用多个http请求,获取数据,然后将获取的数据统一处理… 第一反应想到用promise.all来做… 下面进入主体 // 首先使用promise封装http请求. function getListByDetecttype (params) {return new Promise((resolve, reject) > {let param params ? par…

Mac 下查看网络端口占用情况

1、Mac 下查看网络端口占用情况 有的时候关闭了服务器&#xff0c;但是端口还是占用&#xff0c;解决的方法是 kill 掉占用该端口的进程。 # 查看 8009 端口的占用情况 $ lsof -i:8009 可以看到&#xff0c;该端口被 id 为 4215 的进程所占用&#xff0c;这个时候直接在命令…

javascript --- 变量提升的理解

看下面一段代码: (function () {var x foo();var foo function foo () {return "foobar";};return x; })();(不许打出来)猜猜返回结果是什么… 答案是 // foo is not a function下面来解释为什么会这样,首先得明白: 1.如果变量声明了但未赋值,则会显示undefined…

分布式监控系统开发【day37】:需求讨论(一)

本节内容 为什么要做监控&#xff1f; 常用监控系统设计讨论监控需求讨论如何实现监控服务器的水平扩展&#xff1f;监控系统架构设计一、为什么要做监控&#xff1f; 熟悉IT监控系统的设计原理开发一个简版的类Zabbix监控系统掌握自动化开发项目的程序设计思路及架构解藕原则…

iOS:练习题中如何用技术去实现一个连线题

一、介绍 本人做的app涉及的是教育行业&#xff0c;所以关于练习题的开发肯定是家常便饭。例如&#xff0c;选择题、填空题、连线题、判断题等&#xff0c;每一种题型都需要技术去实现&#xff0c;没啥多大难度&#xff0c;这里呢&#xff0c;就给出实现连线题的核心代码吧。过…

213. House Robber II 首尾相同的偷窃问题

&#xff3b;抄题&#xff3d;&#xff1a; You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses at this place are arranged in a circle. That means the first house is the neighbor of…

19、20 Context API

安装React Dev Tool Context对象.displayName 使用别名 不使用别名 React.createContext 创建指定的Context对象组件会找离自己最近的Provider&#xff0c;获取其value变量名都叫value的情况&#xff0c;就近取AContext变量名有所区分&#xff0c;两个value都可以获取可以…

01-spring配置详解

1 bean元素 <!--将User对象交给spring容器进行管理 --><!-- Bean元素:使用该元素描述需要spring容器管理的对象class属性:被管理对象的完整类名.name属性:给被管理的对象起个名字.获得对象时根据该名称获得对象. 可以重复.可以使用特殊字符.id属性: 与name属性一模一…

Vite+Vue3页面空白、图标不显示问题解决

页面空白问题 由于项目部署在子文件夹下&#xff0c;因此需要配置vite.config.js const config {base: ./, }el-icon图标不显示、打包时mkdir无权限 在控制台Network看字体图标的请求&#xff0c;发现地址多了_assets&#xff0c;本以为需要重新配置publicDir&#xff0c;后…

javascript --- 自定义数组的反序函数

想写一个自定义的_reverse函数,其作用是将传入的数组进行部分反序. 效果如下: 输入[1,2,3,4,5,6,7,8,9] 第一个将2~4个位置的数字反序 第二个将2~6个位置的数字反序. // js function _reverse(arr, s, e) {arr arr.join().slice(0,s) arr.join().slice(s,e).split().revers…

21 Fragment和短语法应用

React.Fragment jsx语法&#xff0c;相当于document.createDocumentFragment()创建文档碎片容器&#xff0c;优化渲染解决了没有根节点的问题<></>这种短语法也会声明React.Fragment但短语法不支持keyReact.Fragment只支持key属性&#xff0c;其余属性如事件等不支…

201521123004《软件工程》个人阅读作业1

task1Task2: 201521123004 林艺如 博客&#xff1a;https://www.cnblogs.com/dabaolyr/ 码云&#xff1a;https://gitee.com/dabao_lyr Task3&#xff1a;完成博客-阅读与思考 阅读参考材料&#xff0c;并回答下面几个问题&#xff1a; &#xff08;1&#xff09;回想一下你初入…