Linux项目部署常用命令

配置网络

修改网络初始化配置,设定网卡在系统启动时初始化

cd /     进入根目录
cd etc   进入etc目录
cd sysconfig    进入sysconfig目录
cd network-scripts  进入network-scripts
vi ifcfg-ens33   编辑ifcfg-ens33文件
i     进入编辑状态
光标    移动光标
<Esc> ->  :wq -> <Enter>   保存退出

把ONBOOT=no 改成 ONBOOT=yes 就可以获取动态IP地址了

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=cf4c3496-81fb-460a-889a-229e60e84d21
DEVICE=ens33
ONBOOT=yes

修改成静态IP地址

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static            # 使用静态IP地址,默认为dhcp
IPADDR=192.168.43.207       # 设置的静态IP地址
NETMASK=255.255.255.0       # 子网掩码
GATEWAY=192.168.43.2        # 网关地址
DNS1=192.168.43.2           # DNS服务器
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=cf4c3496-81fb-460a-889a-229e60e84d21
DEVICE=ens33
ONBOOT=yes                   # 是否开机启用

重新启动网络服务

 systemctl restart network

显示IP地址

ip addr

使用finalShell连接远程linux服务器

finalShell SSH连接 下载软件 默认下一步下一步安装

Linux目录介绍

Linux项目部署常用命令_第1张图片

几个常用命令

Linux项目部署常用命令_第2张图片

echo 'LANG="en_US.UTF-8"' >> /etc/profile      //把LANG="en_US.UTF-8"内容 追加到/etc/profile配置文件里面去
source  /etc/profile      //立即生效

LInux命令使用技巧

  • Tab键自动补全
  • 连续两次Tab键,给出操作提示
  • 使用上下箭头快速调出曾经使用过的命令
  • 使用clear命令或者Ctrl+l快捷键实现清屏

注意:由于我们使用ls命令时经常需要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即 ll 是两个小写的LL
特殊说明:

  ~ 表示用户的home目录
  . 表示目前所在的目录  一个点
  .. 表示目前目录位置的上级目录  两个点

举例:

   cd ..  切换到当前目录的上级目录
   cd ~     切换到用户的home目录
   cd /usr/local  切换到/usr/local目录

文件目录操作命令 cat

作用:用于显示文件内容
语法:cat [-n] fileName
说明:

  • -n:由1开始对所有输出的行数编号

举例:

  cat /etc/profile    查看/etc目录下的profile文件内容

文件目录操作命令 more

作用:以分页的形式显示文件内容
语法:more fileName
说明:

  • 回车键 向下滚动一行
  • 空格键 向下滚动一屏
  • b 返回上一屏
  • q或者Ctrl+C 退出more

举例:

  more /etc/profile    以分页方式显示/etc目录下的profile文件内容

文件目录操作命令 tail

作用:查看文件末尾的内容
语法:tail[-f] fileName
说明:

  • -f:动态读取文件末尾内容并显示,通常用于日志文件的内容输出

举例:

tail /etc/profile    显示/etc目录下的profile文件末尾10行的内容
tail -20  /etc/profile    显示/etc目录下的profile文件末尾20行的内容
tail -f /etc/profile    动态读取/etc目录下的profile文件末尾内容并显示

文件目录操作命令 mkdir

作用:创建目录
语法:mkdir [-p] dirName
说明:

  • -p:确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建

举例:

mkdir   itcast    在当前目录下,建立一个名为itcast的子目录
mkdir -p itcast/test  在工作目录下的itcast目录中建立一个名为test的子目录,若itcast目录不存在,则建立一个

文件目录操作命令 rmdir

作用:删除空目录
语法:rmdir [-p] dirName
说明:

  • -p:当子目录被删除后使父目录为空目录的话,则一并删除

举例:

rmdir itcast    删除名为itcast的空目录
rmdir -p itcast/test  删除itcast目录中名为test的子目录,若test目录删除后itcast目录变为空目录,则也被删除
rmdir itcast* 删除名称以itcast开始的空目录

文件目录操作命令 rm

作用:删除文件或者目录
语法:rm [-rf] name
说明:

  • -r:将目录及目录中所有文件(目录)逐一删除,即递归删除
  • -f:无需确认,直接删除

举例:

rm -r  itcast/    删除名为itcast的目录和目录中所有文件,删除前需确认
rm -rf  itcast/    无需确认,直接删除名为itcast的目录和目录中所有文件
rm -f hello.txt   无需确认,直接删除hello.txt文件

拷贝移动命令 cp

作用:用于复制文件或目录
语法:cp [-r] source dest
说明:

  • -r:如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件

举例:

cp hello.txt itcast/  将hello.txt复制到itcast目录中
cp hello.txt ./hi.txt   将hello.txt复制到当前目录,并改名为hi.txt
cp -r itcast/  ./itheima/   将itcast目录和目录下所有文件复制到itheima目录下
cp -r itcast/* ./itheima/  将itcast目录下所有文件复制到itheima目录下

拷贝移动命令 mv

作用:为文件或目录改名,或将文件或目录移动到其它位置
语法:mv source dest

举例:

mv hello.txt hi.txt   将hello.txt改名为hi.txt
mv hi.txt itheima/   将文件hi.txt 移动到itheima目录中
mv hi.txt itheima/hello.txt 将hi.txt移动到itheima目录中,并改名为hello.txt
mv itcast/  itheima/  如果itheima目录不存在,将itcast目录改名为itheima
mv itcast/  itheima/  如果itheima目录存在,将itcast目录移动到itheima目录中

打包压缩命令 tar

作用:对文件进行打包,解包,压缩,解压
语法:tar [-zcxvf] fileName [files]
包文件后缀为.tar表示只是完成了打包,并没有压缩
包文件后缀为.tar.gz表示打包的同时还进行了压缩
说明:

  • -z:z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
  • -c:c代表的create,即创建新的包文件
  • -x:x代表的是extract,实现从包文件中还原文件
  • -v:v代表的是verbose,显示命令的执行过程
  • -f:f代表的file,用于指定包文件的名称

举例:

tar -cvf test.tar muyu   打包muyu目录 打包后命名为test.tar
tar -zcvf test.tar.gz muyu   打包muyu目录并压缩 打包后命名为test.tar.gz
tar -xvf test.tar   解包目录因为并没有压缩   解包test.tar文件到当前目录下
tar -zxvf test.tar.gz   解压文件   解压test.tar.gz文件到当前目录下

打包

tar -cvf hello.tar ./*     将当前目录下所有文件打包,打包后的文件名为hello.tar
tar -zcvf hello.tar.gz ./*  将当前目录下所有文件打包并压缩,打包后的文件名为hello,tar.gz

解包

tar -xvf hello.tar    将hello.tar文件进行解包,并将解包后的文件放在当前目录
tar -zxvf hello.tar.gz   将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
tar -zxvf hello.tar.gz -C /usr/local  将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录

文本编辑命令 vi/vim

作用:vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于windows中的记事本
语法:vi fileName
说明:
1.vim是从vi发展来的一个功能更加强大的文本编辑工具,在编辑文件时可以对文本内容进行着色高亮,方便我们对文件进行编辑处理,所以实际工作中vim更加常用。
2.要使用vim命令,需要我们自己完成安装,可以使用下面的命令来完成安装:yum install vim

文本编辑命令 vim

作用:对文件内容进行编辑,vim其实就是一个文本编辑器
语法:vim fileName
说明:
1.在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件,如果指定的文件不存在则新建文件。
2.vim在进行文本编辑时工分为三种模式,分别是命令模式(Command mode),插入模式(Insert mode)和低行模式(Last line mode)。这三种模式之间可以相互切换,我们在使用vim时一定要注意我们当前所处的是哪种模式。
针对vim中的三种模式说明如下:
1.命令模式:
命令模式下可以查看文件内容,移动光标(上下左右箭头,gg, G):gg 快速移动到开头 G快速移动到末尾
通过vim命令打开文件后,默认进入命令模式
另外两种模式需要首先进入命令模式,才能进入彼此
2.插入模式:
插入模式下可以对文件内容进行编辑
在命令模式下按下【i,a,o】任意一个,可以进入插入模式,进入插入模式后,下方会出现【insert】字样
在插入模式下按下Esc键,回到命令模式
3.底行模式
底行模式下可以通过命令对文件内容进行查找,显示行号,退出等操作
在命令模式下按下【:,/】任意一个,可以进入底行模式
通过 / 方式进入底行模式后,可以对文件内容进行查找
通过 :方式进入底行模式后,可以输入wq(保存并退出),q!(不保存退出),set nu(显示行号)

查找命令 find

作用:在指定目录下查找文件
语法:find DIRName -option fileName
举例:

find . -name "*.java"   在当前目录及其子目录下查找.java结尾文件
find  /itcast  -name  "*.java"/itcast目录及其子目录下查找.java结尾的文件

查找命令 grep

作用:从指定文件中查找指定的文本内容
语法:grep word fileName
举例:

grep Hello HelloWorld.java  查找HelloWorld.java文件中出现的Hello字符串的位置
grep hello *.java    查找当前目录中所有.java结尾的文件中包含hello字符串的位置

软件安装方式

  • 二进制发布安装:
    软件已经针对具体平台编译打包发布,只要解压,修改配置即可
  • rpm安装:
    软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题
  • yum安装:
    一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决依赖问题
  • 源码编译安装:
    软件以源码工程的形式发布,需要自己编译打包

安装 jdk

Linux项目部署常用命令_第3张图片
jdk17下载链接
在这里插入图片描述

安装 Tomcat

在这里插入图片描述
Linux项目部署常用命令_第4张图片
Tomcat9.0下载链接, 注意:下载的版本,每个版本对应的jdk版本不一样
在这里插入图片描述

cd /usr/local/apache-tomcat-9.0.84/bin
sh startup.sh
ps -ef | grep tomcat

Linux项目部署常用命令_第5张图片

开放防火墙端口

需要开放指定的端口才能访问 网址
Linux项目部署常用命令_第6张图片

firewall-cmd --state
systemctl start firewalld
firewall-cmd --zone=public --add-port=8080/tcp --permanent   开放8080端口号
firewall-cmd --reload  立即生效
firewall-cmd --zone=public --list-ports

安装MySQL 8.0之前的版本

Linux项目部署常用命令_第7张图片

rpm -qa | grep mariadb    查询当前系统中安装的名称带mariadb的软件

Linux项目部署常用命令_第8张图片

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64     卸载软件

Linux项目部署常用命令_第9张图片
Linux项目部署常用命令_第10张图片
Linux项目部署常用命令_第11张图片

安装MySQL 8.0之后的版本

mysql8.0.34下载地址rpm 格式链接

mkdir /usr/local/mysql    创建mysql目录
tar -xvf mysql-8.0.34-1.el7.x86_64.rpm-bundle.tar    解压

安装:顺序 从上往下来 不能错

rpm -ivh mysql-community-common-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.34-1.el7.x86_64.rpm
yum install net-tools    # 安装net-tools依赖
rpm -ivh mysql-community-server-8.0.34-1.el7.x86_64.rpm
mysql -V   检查安装是否有问题
yum update   # 升级现有软件及系统内核
systemctl status mysqld   查看mysql服务状态
systemctl start mysqld   启动mysql服务
systemctl enable mysqld   设置开机启动mysql
netstat -tunlp    查看已经启动的服务
ps -ef | grep mysql   查看mysql进程

Linux项目部署常用命令_第12张图片

cat /var/log/mysqld.log | grep password
kk/geDWvJ8ED  获取的临时密码

Linux项目部署常用命令_第13张图片

对于 MySQL8.0版本来说,我们得先设置密码,再设置密码等级和长度。这里一定要注意MySQL8.0版本修改密码等级和最小长度的语句 set global validate_password 后面由之前的 ‘_’ 改为了 ‘ . ’。
(1)按照策略修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'kk/geDWvJ8ED';2)修改密码等级

set global validate_password.policy=0;3)修改密码最小长度

set global validate_password.length=4;4)修改自己想要的密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root12';

select user,host,plugin from mysql.user;  //查看是否开启了远程权限

update mysql.user set host='%' where user='root';
flush privileges;
exit;    退出mysql
firewall-cmd --zone=public --add-port=3306/tcp --permanent   开放3306端口号
firewall-cmd --reload  立即生效

安装lrzsz

Linux项目部署常用命令_第14张图片

手工部署项目

Linux项目部署常用命令_第15张图片
Linux项目部署常用命令_第16张图片

java -jar linux-0.0.1-SNAPSHOT.jar   项目的jar包

Linux项目部署常用命令_第17张图片

firewall-cmd --zone=public --list-ports

Linux项目部署常用命令_第18张图片

nohup java -jar linux-0.0.1-SNAPSHOT.jar &>hello.log &

Linux项目部署常用命令_第19张图片

ps -ef | grep 'java -jar'

通过Shell脚本自动部署项目

Linux项目部署常用命令_第20张图片
Linux项目部署常用命令_第21张图片
Linux项目部署常用命令_第22张图片

cd /usr/local
git clone https://gitee.com/ouyanggang/linux.git

Linux项目部署常用命令_第23张图片
Maven3.9.6下载链接
在这里插入图片描述

tar -zxvf apache-maven-3.9.6-bin.tar.gz
export MAVEN_HOME=/usr/local/apache-maven-3.9.6
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
source /etc/profile
vim /usr/local/apache-maven-3.9.6/conf/settings.xml
<localRepository>/usr/local/repo</localRepository>

Linux项目部署常用命令_第24张图片
bootStart.sh内容

#!/bin/sh
echo ===========================
echo 自动化部署脚本启动
echo ===========================

echo 停止原来运行中的工程定义APP_NAME变量运行的程序名称
APP_NAME=linux

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Stop Process...'
    kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Kill Process!'
    kill -9 $tpid
else
    echo 'Stop Success!'
fi

echo 准备从Git仓库拉取最新代码
cd /usr/local/linux

echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成

echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`

cd target

echo 启动项目
nohup java -jar linux-0.0.1-SNAPSHOT.jar &>hello.log &
echo 项目启动完成

Linux项目部署常用命令_第25张图片
Linux项目部署常用命令_第26张图片

chmod 777 bootStart.sh

Linux项目部署常用命令_第27张图片

./bootStart.sh   执行脚本

Redis 下载与安装

Linux项目部署常用命令_第28张图片
redis5.0下载链接
Linux项目部署常用命令_第29张图片

tar -zxvf redis-5.0.10.tar.gz
yum install gcc-c++
cd /usr/local/redis-5.0.10
make install

Linux项目部署常用命令_第30张图片

[root@localhost src]# ./redis-server

Ctrl+C停止Redis服务

修改配置文件 后台运行
[root@localhost redis-5.0.10]# vim redis.conf
/dae  查找配置文件  修改配置
deamonize  yes  把no 改成yes就可以
启动
[root@localhost redis-5.0.10]# src/redis-server ./redis.conf
客户端连接测试 
[root@localhost ~]# cd /usr/local/redis-5.0.10/src
[root@localhost src]# ./redis-cli
127.0.0.1:6379> keys *
(empty list or set)
修改密码  可以在配置redis.conf文件中 把注释打开就可以了 输入密码
requirepass  123456
ps -ef | grep redis
认证密码登录
src/redis-cli -h localhost -p 6379  -a  123456
开启远程连接  把配置文件redis.conf  注释这一行就行
#bind 127.0.0.1

nginx 部署

nginx-1.20.2下载地址
Linux项目部署常用命令_第31张图片

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
如果要联网下载需要下载安装包:yum install wget
tar -zxvf nginx-1.20.2.tar.gz
cd nginx-1.20.2
mkdir -p /usr/local/nginx
指定安装目录
./configure --prefix=/usr/local/nginx
make && make install
cd /usr/local/nginx

nginx目录结构
Linux项目部署常用命令_第32张图片
可以显示树形结构目录 安装依赖 :yum install tree
输入 tree 就显示了

启动Nginx服务使用如下命令:

./nginx

停止Nginx服务使用如下命令:

./nginx -s stop

启动完成后可以查看Nginx进程:

ps -ef|grep nginx
[root@localhost sbin]# ./nginx
ps -ef | grep nginx
firewall-cmd --zone=public --add-port=80/tcp --permanent   开放80端口号
firewall-cmd --reload  立即生效
/usr/local/nginx/sbin/nginx -s stop   停止服务

Linux项目部署常用命令_第33张图片

加入到path配置文件中  就可以简写路径了  : 冒号是分割
vim /etc/profile
PATH=/usr/local/nginx/sbin:
source /etc/profile   立即生效

安装nodejs

nodejs16.20.2下载链接

tar -xvJf node-v16.20.2-linux-x64.tar.xz
ln命令建立软连接(建议使用绝对路径)
ln -s /root/node-v16.20.2-linux-x64/bin/node  /usr/bin/node
ln -s /root/node-v16.20.2-linux-x64/bin/npm  /usr/bin/npm
测试  node -v     npm -v

(可选)安装cnpm插件
cnpm文档地址

npm install -g cnpm --registry=https://registry.npmmirror.com

你可能感兴趣的:(linux,运维,服务器)