Ubuntu部署项目
一、Ubuntu目录结构
| 目录 | 说明 |
|---|---|
| bin | 存放二进制可执行文件(ls,cat,mkdir等) .exe== |
| boot | 存放用于系统引导时使用的各种文件 开机引导 |
| dev | 用于存放设备文件 打印机啥的 |
| etc | 存放系统配置文件 hosts(改ip,域名),软件的配置文件等等 |
| home | 存放所有用户文件的根目录 等于c盘user |
| lib | 存放跟文件系统中的程序运行所需要的共享库及内核模块 放依赖 |
| mnt | 系统管理员安装临时文件系统的安装点 |
| opt | 额外安装的可选应用程序包所放置的位置 |
| proc | 虚拟文件系统,存放当前内存的映射 |
| root | 超级用户目录 |
| sbin | 存放二进制可执行文件,只有root才能访问 |
| tmp | 用于存放各种临时文件 |
| usr | 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录 自己安装的程序必须安装在这里 |
| var | 用于存放运行时需要改变数据的文件 存放数据比如数据库分配空间最大 |
二、Ubuntu命令
1、常用命令
| 命令 | 说明 | 语法 | 参数 | 参数说明 |
|---|---|---|---|---|
| ls | 显示文件和目录列表 | ls [-alrtAFR] [name...] | ||
| -l | 列出文件的详细信息 | |||
| -l+a | 列出当前目录所有文件,包含隐藏文件 | |||
| mkdir | 创建目录 | mkdir [-p] dirName | ||
| -p | 父目录不存在情况下先生成父目录 | |||
| cd | 切换目录 | cd [dirName] | ||
| touch | 生成一个空文件 | |||
| echo | 生成一个带内容文件 | echo abcd > 1.txt,echo 1234 >> 1.txt | 》追加内容 | |
| cat | 显示文本文件内容 | cat [-AbeEnstTuv] [--help] [--version] fileName | ||
| cp | 复制文件或目录 | cp [options] source dest | ||
| rm | 删除文件 | rm [options] name... | ||
| -f | 强制删除文件或目录 | |||
| -r | 同时删除该目录下的所有文件 | |||
| mv | 移动文件或目录 | mv [options] source dest | ||
| find | 在文件系统中查找指定的文件 | |||
| -name | 文件名 | |||
| grep | 在指定的文本文件中查找指定的字符串 | |||
| tree | 用于以树状图列出目录的内容 | |||
| pwd | 显示当前工作目录 | |||
| ln | 建立软链接 | 相当于快捷方式 | ||
| more | 分页显示文本文件内容 | |||
| head | 显示文件开头内容 | |||
| tail | 显示文件结尾内容 | |||
| -f | 跟踪输出 |
2、系统管理命令
| 命令 | 说明 |
|---|---|
| stat | 显示指定文件的相关信息,比ls命令显示内容更多 |
| who | 显示在线登录用户 |
| hostname | 显示主机名称 |
| uname | 显示系统信息 |
| top | 显示当前系统中耗费资源最多的进程 |
| ps | 显示瞬间的进程状态 |
| du | 显示指定的文件(目录)已使用的磁盘空间的总量 -h给人看的默认给计算机看 |
| df | 显示文件系统磁盘空间的使用情况 |
| free | 显示当前内存和交换空间的使用情况 |
| ifconfig | 显示网络接口信息 |
| ping | 测试网络的连通性 |
| netstat | 显示网络状态信息 |
| clear | 清屏 |
| kill | 杀死一个进程 -9彻底杀死(windows结束进程) |
3、解压缩命令
| 命令 | 语法 | 参数 | 参数说明 |
|---|---|---|---|
| tar | tar [-cxzjvf] 压缩打包文档的名称 欲打包目录 | ||
| 压缩 | -c | 建立一个归档文件的参数指令 | |
| 解压缩 | -x | 解开一个归档文件的参数指令 | |
| ★ | 算法 | -z | 是否需要用 gzip 压缩 |
| 算法 | -j | 是否需要用 bzip2 压缩 | |
| -v | 压缩的过程中显示文件 | ||
| -f | 使用档名,在 f 之后要立即接档名 | ||
| -tf | 查看归档文件里面的文件 |
4、Linux的环境配置文件----.bashrc文件
.bash_history 记录之前输入的命令
.bash_logout 当你退出时执行的命令
.bash_profile 当你登入shell时执行
.bashrc 当你登入shell时执行
5、编辑器
编辑模式:等待编辑命令输入(Esc进入)
插入模式:编辑模式下,输入 i 进入插入模式,插入文本信息
命令模式:在编辑模式下,输入 : 进行命令模式
q 直接退出vi wq 保存后退出vi ,并可以新建文件 q! 强制退出
w file 将当前内容保存成某个文件 set number 在编辑文件显示行号
set nonumber 在编辑文件不显示行号
6、软件的安装
查看系统版本 lsb_release -a
更新数据源 sudo apt-get update
安装软件 apt install packagename
卸载软件 sudo apt autoremove packagename
三、项目部署
1、安装Java
命令: vi /etc/profile
尾部添加:
export JAVA_HOME=jdk安装目录
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
注:JDK8以上手动生成jre
bin/jlink --module-path jmods --add-modules java.desktop --output jre
使配置文件生效 source /etc/profile
2、安装Mysql
安装Mysql8.0
1、下载db文件
2、sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
3、sudo apt update更新 sudo apt upgrade再次更新
4、apt-get install mysql-server
5、ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';(select*fromuser查看host)
6、select 'host' from user where user='root';
7、update user set host = '%' where user ='root';
8、flush privileges;
9、启动mysql service start mysql
删除mysql
sudo apt-get autoremove --purge mysql-server-5.0
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common
//清除残余
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
3、部署项目
(1)War包部署项目
1、安装Tomcat
2、把war放进Tomcat的webapps里即可
3、更改tomcat下 conf==》server.xml ==》修改并添加(在host标签里)即可url不用输入study-0.0.1-SNAPSHOT
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="study-0.0.1-SNAPSHOT" reloadable="true" />
4、启动tomcat
进入tomcat的bin目录:./start.sh
关闭: ./shutdown.sh
(2)Jar包部署项目
服务器:
进入安全组开放端口
后台挂起:
nohup java -jar jar包名字.jar &
查看进程id:
jobs -l
退出终端重新打开终端看不到进程了:
百度一大堆说的跟脱裤子放屁一样,还好我机智,直接查看占用端口号得程序不就行了吗!
反手一个:lsof -i:8888
反手杀死一个进程很舒服:
kill 8888
Ubuntu部署项目的更多相关文章
- ubuntu环境部署项目
安装python3.6 第一步:sudo add-apt-repository ppa:jonathonf/python-3.6 如果报错为:sudo: add-apt-repository: com ...
- NET Core:部署项目到Ubuntu Server
NET Core:部署项目到Ubuntu Server 概述 基于上一篇成功安装Ubuntu Server 16.10的基础上,接下来继续我们ASP.NET Core项目的部署之旅! 只是对于这些年整 ...
- Linux Ubuntu从零开始部署web环境及项目 -----部署项目 (三)
上一篇讲了如何在linux搭建web环境,这边将如何部署项目. 1,打包项目包 2,上传项目包 将.war项目包通过xftp上传到tomcat目录wabapps目录下 3,启动项目 通过xshell命 ...
- Ubuntu部署python3.5的开发和运行环境
Ubuntu部署python3.5的开发和运行环境 1 概述 由于最近项目全部由python2.x转向 python3.x(使用目前最新的 python3.5.1) ,之前的云主机的的默认python ...
- git管理和自动部署项目
当一个项目需要纳入到版本控制的时候,选择的工具还是比较多的,最常见的就是工具有CVS,SVN,GIT等.在平时的开发中视情况而定,从来就没有最好的版本控制工具,只有最适合的工具.在这里我习惯用git来 ...
- Ubuntu部署python3.7的开发和运行环境
Ubuntu部署python3.7的开发和运行环境 1 概述 由于最近项目全部由python2.x转向 python3.x(使用 python3.7.1) ,之前的云主机的的默认python版本都面临 ...
- docker安装Tomcat软件,部署项目
1 搜索tomcat镜像 $ sudo docker search tomcat NAME DESCRIPTION STARS OFFICIAL AUTOMATED tomcat Apache Tom ...
- ubuntu部署django详细教程
教程使用的软件版本:Ubuntu 18.04.1 LTS,django2.0,Python 3.6.5.nginx-1.13.7.uWSGI (2.0.17.1),Ubuntu是纯净的,全新的.下面我 ...
- Docker Compose部署项目到容器-基于Tomcat和mysql的项目yml配置文件代码
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
随机推荐
- flutter资料
Flutter社区和资源传送门 新: 慕课网<Flutter入门与案例实战> | 中文网<Flutter实战>电子书 字体图标生成 http://fluttericon ...
- 对用pyinstaller打包的exe程序进行反编译,获得源码
参考文章: 1.https://www.cnblogs.com/DirWang/p/12018949.html#PyInstallerExtractor 2.https://msd.misuland. ...
- Python3实现短信轰炸机
短信轰炸机的基本原理:利用某些限制不严格的网站短信注册接口,用Python模拟请求,传入被炸人手机号码,实现轰炸 实现方式:利用requests模块.time模块.完成请求模拟 模块安装: 在终端窗口 ...
- java例题_22 用递归求阶乘 5!
1 /*22 [程序 22 递归求阶乘] 2 题目:利用递归方法求 5!. 3 程序分析:递归公式:fn!=fn*4! 4 */ 5 6 /*分析 7 * 递归:如果其中每一步都要用到前一步或前几步的 ...
- PAT (Advanced Level) Practice 1019 General Palindromic Number (20 分) 凌宸1642
PAT (Advanced Level) Practice 1019 General Palindromic Number (20 分) 凌宸1642 题目描述: A number that will ...
- 从网络请求过程看OkHttp拦截器
前言 之前我们结合设计模式简单说了下OkHttp的大体流程,今天就继续说说它的核心部分--拦截器. 因为拦截器组成的链其实是完成了网络通信的整个流程,所以我们今天就从这个角度说说各拦截器的功能. 首先 ...
- [模拟]P1047 校门外的树
校门外的树 题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2,- ...
- Recoil 的使用
通过简单的计数器应用来展示其使用.先来看没有 Recoil 时如何实现. 首先创建示例项目 $ yarn create react-app recoil-app --template typescri ...
- Dynamics CRM安装教程四:DNS配置
在为MS CRM 配置Claims-based认证之前,你需要在域控服务器的DNS中添加一些记录,来解析CRM的各个断点,添加內容如下(本次环境全部安装在一台机子中): AD FS 服务器(例: ad ...
- 2018年block3学习计划
还是要给自己制定一个block的计划,希望自己的技术能有更进一步的提升 1. 算法/数学 随着学习的进一步深入,愈发认识到了算法的重要性,这个block给自己定下的计划就是 1)把introducti ...