一、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 &quot;%r&quot; %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部署项目的更多相关文章

  1. ubuntu环境部署项目

    安装python3.6 第一步:sudo add-apt-repository ppa:jonathonf/python-3.6 如果报错为:sudo: add-apt-repository: com ...

  2. NET Core:部署项目到Ubuntu Server

    NET Core:部署项目到Ubuntu Server 概述 基于上一篇成功安装Ubuntu Server 16.10的基础上,接下来继续我们ASP.NET Core项目的部署之旅! 只是对于这些年整 ...

  3. Linux Ubuntu从零开始部署web环境及项目 -----部署项目 (三)

    上一篇讲了如何在linux搭建web环境,这边将如何部署项目. 1,打包项目包 2,上传项目包 将.war项目包通过xftp上传到tomcat目录wabapps目录下 3,启动项目 通过xshell命 ...

  4. Ubuntu部署python3.5的开发和运行环境

    Ubuntu部署python3.5的开发和运行环境 1 概述 由于最近项目全部由python2.x转向 python3.x(使用目前最新的 python3.5.1) ,之前的云主机的的默认python ...

  5. git管理和自动部署项目

    当一个项目需要纳入到版本控制的时候,选择的工具还是比较多的,最常见的就是工具有CVS,SVN,GIT等.在平时的开发中视情况而定,从来就没有最好的版本控制工具,只有最适合的工具.在这里我习惯用git来 ...

  6. Ubuntu部署python3.7的开发和运行环境

    Ubuntu部署python3.7的开发和运行环境 1 概述 由于最近项目全部由python2.x转向 python3.x(使用 python3.7.1) ,之前的云主机的的默认python版本都面临 ...

  7. docker安装Tomcat软件,部署项目

    1 搜索tomcat镜像 $ sudo docker search tomcat NAME DESCRIPTION STARS OFFICIAL AUTOMATED tomcat Apache Tom ...

  8. ubuntu部署django详细教程

    教程使用的软件版本:Ubuntu 18.04.1 LTS,django2.0,Python 3.6.5.nginx-1.13.7.uWSGI (2.0.17.1),Ubuntu是纯净的,全新的.下面我 ...

  9. Docker Compose部署项目到容器-基于Tomcat和mysql的项目yml配置文件代码

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

随机推荐

  1. TEB 、TIB、PEB--Vista 32

    TEB struct TEB typedef struct _TEB { NT_TIB NtTib; PVOID EnvironmentPointer; CLIENT_ID ClientId; PVO ...

  2. .NET团队送给.NET开发人员的云原生学习资源

    企业正在迅速采用云的功能来满足用户需求,提高应用程序的可伸缩性和可用性.要完全拥抱云并优化节约成本,就需要在设计应用程序时考虑到云的环境,也就是要用云原生的应用开发方法.这意味着不仅要更改应用程序的构 ...

  3. Prometheus联邦

    联邦使得一个 Prometheus 服务器可以从另一个 Prometheus 服务器提取选定的时序. 1. 使用场景 Prometheus 联邦有不同的使用场景.通常,联邦被用来实现可扩展的 Prom ...

  4. 从谷歌CRE谈起,运维如何培养服务意识?

    从谷歌CRE谈起,运维如何培养服务意识? 2016年10月,谷歌云平台博客(Google Cloud Platform Blog)上更新了一篇文章,谷歌宣布了一个新的专业岗位,CRE(Customer ...

  5. 2020 OO 第一单元总结 表达式求导

    title: BUAA-OO 第一单元总结 date: 2020-03-19 20:53:41 tags: OO categories: 学习 OO第一单元通过三次递进式的作业让我们实现表达式求导,在 ...

  6. 【笔记】《Redis设计与实现》chapter17 集群

    17.1 节点 启动节点 Redis服务器启动时会根据cluster-enabled配置选项是否为yes来决定是否开启服务器的集群模式 节点会继续使用redisServer结构来保存服务器的状态,使用 ...

  7. (十五)VMware Harbor 标签管理

    1. Harbor提供两种标签用来隔离各种资源(目前只有镜像): 全局级别标签: 由系统管理员管理,用于管理整个系统的镜像.它们可以添加到任何项目下的镜像中. 项目级别标签: 由项目管理员或者系统管理 ...

  8. kubectl cp 从k8s pod 中 拷贝 文件到本地

    请查看官方的说明 kubectl cp --help 官方说使用cp , pod里需要有tar命令 从k8s pod 中 拷贝 文件到本地 这是我使用的命令 kubectl exec redis-6c ...

  9. kubernetes集群centos7初始化

    设置系统主机名以及 Host 文件的相互解析 hostnamectl set-hostname k8s-master01 安装依赖包 yum -y install wget net-tools nfs ...

  10. C语言-内存函数的实现(二)之memmove

    C语言中的内存函数有如下这些 memcpy memmove memcmp memset 下面看看memmove函数 memmove 为什么会需要memmove函数? int main() { int ...