Linux:Linux系统项目配置

linux高级

软件安装

rpm(redhat package manager)安装

软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,但包之间可能有依赖关系,因此不能自行解决库依赖问题,比较麻烦

yum安装

一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题(安装过程需要联网)

源码编译安装

软件以源码工程形式发布,需要自己编译打包,类似.java文件需要编译成.class文件安装方式.

安装JDK

操作步骤:
1、在/usr/local目录下创建自定义soft目录
2、使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux
3、切换到soft目录下
4、解压安装包,命令为tar -zxvf jdk-8u171-linux-x64.tar.gz
5、配置环境变量,使用vim命令修改/etc/profile文件,在文件末尾加入如下配置 按字母G跳转到文件尾部
注意:/usr/local/soft/jdk1.8.0_171 路径不固定,是你的jdk路径位置,复制下面的路径到配置文件/etc/profile
JAVA_HOME=/usr/local/soft/jdk1.8.0_171
CLASSPATH=.: J A V A H O M E / l i b P A T H = JAVA_HOME/lib PATH= JAVAHOME/libPATH=JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
6、重新加载profile文件,使更改的配置立即生效,命令为source /etc/profile
7、检查安装是否成功,命令为java -version

安装Tomcat

大体同上

查询系统进程
ps -aux/-ef | grep tomcat
//|管道符将前面的结果作为后面的输入
linux防火墙

不开放端口或关闭防火墙无法直接访问tomcat

服务器不建议关闭防火墙

查看防火墙状态	systemctl status firewalld
 / firewall-cmd --state
关闭防火墙	systemctl stop firewalld
永久关闭防火墙(禁用开机自启)	systemctl disable firewalld
暂时开启防火墙	systemctl start firewalld
永久开启防火墙(启用开机自启)	systemctl enable firewalld
重启防火墙	systemctl restart firewalld
开放指定端口	firewall-cmd --zone=public --add-port=8080/tcp --permanent
关闭指定端口	firewall-cmd --zone=public --remove-port=8080/tcp --permanent
立即生效(重新加载)	firewall-cmd --reload
查看开放端口	firewall-cmd --zone=public --list-ports
--zone=public	将端口号添加到防火墙中哪个区域 public: 公共区域,默认值。可以让互联网上所有的机器访问这个端口号 internal: 内部区域,让局域网中,内部中机器来访问这个端口号 是public的一个子集
--add-port=端口/tcp	添加指定的端口号,使用TCP协议
--remove-port=端口/tcp	删除指定的端口号,使用TCP协议
--permanent	永久的添加,主机重启了也是起作用的
--list-all	显示所有已经添加的端口号
--reload	重启加载端口的规则,让新的端口号起作用
开放端口

开启系统防火墙->开放端口->重新加载防火墙

关闭tomcat

使用./shutdown.sh脚本或关闭进程

kill -9 进程号
//强制杀死进程

安装Mysql

查询系统安装的软件

rpm -qa
//查询当前系统中安装的软件
rpm -qa | grep mysql
//查询mysql
卸载现有的Mysql数据库
rpm -e --nodeps 软件名
启动mysql
systemctl status mysqld
//查看mysql服务状态
systemctl start mysqld
//启动mysql服务
systemctl stop mysqld
//停止mysql服务
systemctl enable mysqld
//开机自启mysql
查看mysql状态
netstat -tunlp
//查看已经启动的服务
netstat -tunlp | grep mysql
//查看mysql的服务信息
ps -aux | grep mysql
//查看mysql进程

-l(listening)
//显示监控中的服务器的Socket
-n(numeric)
//直接使用ip地址,不通过域名服务器
-p(programs)
//显示正在使用Socket的程序识别码和程序名称
-t(tcp)
//显示TCP传输协议的连线状况
-u(udp)
//显示UDP传输协议的连线状况

ps命令用于查看Linux中的进程数据
mysql登录

查询临时密码

一般存储在/var/log/mysqld.log中

设置mysql密码
①. 登录mysql(复制日志中的临时密码登录)
	mysql -uroot -p								

②. 修改密码 必须一步一步执行
    set global validate_password_length=4;			设置密码长度最低位数
    set global validate_password_policy=LOW;		设置密码安全等级低,便于密码可以修改成root
    set password = password('1234');				设置密码为1234
    
③. 开启访问权限DCL
    -- 给root指定所有的权限,在任何电脑上可以远程登录 注意我的数据库密码是1234,这里要改成你的数据库密码
    grant all on *.* to 'root'@'%' identified by '1234';
    -- 从mysql数据库中的授权表重新载入权限
    flush privileges;
修改mysql默认编码
vim /etc/my.cnf
# 修改 /etc/my.cnf 文件
[mysqld]
init_connect = 'SET NAMES utf8'
character-set-server = utf8
collation-server =utf8_general_ci

Yum安装软件

参数:

-y
//在安装过程中所有提示回答yes
install
//安装指定的软件
remove
//删除指定的安装包
list
//搜索指定安装包
yum源

先通过

yum install wget
//安装wget命令

下载阿里云yum源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
//清除yum缓存
yum makecache
//将服务器上的软件包信息存放到本地缓存以提高搜索安装软件的速度

Git操作

yum list git
//列出git安装包
yum install git -y
//在线安装git

Maven安装

配置环境变量
MAVEN_HOME=/usr/local/soft/apache-maven-3.5.4
PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
配置本地仓库地址
配置阿里云私服

项目部署

手动部署项目

在IDEA中开发SpringBoot项目打包成jar包

手动执行package指令打成jar包上传到linux服务器

在linux服务器中使用java -jar命令执行

后台执行程序
使用nohup命令执行(no hang up)
//不挂断地运行指定命令,退出终端不会影响程序运行
nohup java -jar xxx.jar &> hello.log &
&:让命令在后台运行
&> 将日志输出到hello.log文件夹

自动部署项目

Shell脚本

Linux系统中的脚本程序,使用脚本解释器可以自动执行

#!/bin/sh
#记事本打开,修改编码格式为utf8,可解决上传centos后中文乱码问题
echo =================================
echo  自动化部署脚本启动
echo =================================

echo 停止原来运行中的工程
APP_NAME=helloworld
# 查询系统中正在运行的helloworld的进程,并停止进程
tpid=`ps -aux|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 -aux|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
# 停止后再次查询,如果还存在,则通过kill -9 强制杀死
if [ ${tpid} ]; then
    echo 'Kill Process!'
    kill -9 $tpid
else
    echo 'Stop Success!'
fi

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

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

echo 开始打包
# 执行打包,跳过单元测试
output=`cd`
mvn -DskipTests=true clean package
# 切换到当前工程的target目录下
cd target

echo 启动项目
# 后台启动该项目
nohup java -jar helloworld.jar &> helloworld.log &
echo 项目启动完成

使用脚本进行批处理拉取打包启动

linux权限

chmod命令控制用户对文件的权限

权限分为读®,写(w),执行(x)

linux文件权限均以如下格式展示

rwxrwxrwx

分别代表

文件所有者(Owner)

用户组(Group)

其他用户(Other Users)

的rwx读写执行权限

没有对应权限就将对应字母换成-

chmod可以使用八进制数来指定权限

eg:chmod 777 文件名

777对应九位二进制数

111111111即rwxrwxrwx全部权限

设置静态IP

linux系统如果没有配置IP地址默认动态获取,但是如果IP地址发生变动就会使访问项目变得非常繁琐

所以需要在/etc/sysconfig/network-scripts/ifcfg-ens33 配置文件中修改对应配置

将IP地址变为静态

BOOTPROTO=static
IPADDR="192.168.200.128" 

重启网络服务

systemctl restart network
或者service network restart
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值