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;		设置密码安全等级低,便于密码可以修改成rootset 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} ]; thenecho '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} ]; thenecho 'Kill Process!'kill -9 $tpid
elseecho 'Stop Success!'
fiecho 准备从Git仓库拉取最新代码
cd /usr/local/app/helloworldecho 开始从Git仓库拉取最新代码
# 拉取最新代码
git pull
echo 代码拉取完成echo 开始打包
# 执行打包,跳过单元测试
output=`cd`
mvn -DskipTests=true clean package
# 切换到当前工程的target目录下
cd targetecho 启动项目
# 后台启动该项目
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

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

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

相关文章

【MySQL精通之路】SQL优化(1)-查询优化(23)-避免全表扫描

当MySQL使用全表扫描来解析查询时,EXPLAIN的输出在type列中显示ALL。 这种情况通常发生在以下情况下: 该表非常小,因此执行全表扫描比查找关键字更快。这对于少于10行且行长较短的表来说很常见。 对于索引列,ON或WHERE子句中没有…

服务器硬件全攻略:从入门到精通,全面解析服务器性能与稳定性!

服务器是计算机网络中提供特定服务的计算机系统,其硬件配置和性能直接影响到整个网络系统的运行效率和稳定性。作为一个资深的技术人员,本文将全面详细地介绍服务器硬件基础知识,包括介绍、命令或语法、主要作用以及使用方法等。 一、介绍 服…

Linux基础(七):Linux 系统上的库文件生成与使用

学过C语言我们知道,C语言有标准库和自定义库,这些方便了我们的实际开发,提供了已经实现好的函数接口,我们使用的时候,只需要引入头文件即可,那具体的实现过程又是怎么样的呢?我们又该如何实现我…

JS实现照片预览

以下是一个简单的JS代码示例&#xff0c;用于实现照片预览功能&#xff1a; <!DOCTYPE html> <html> <head><title>Photo Preview</title><script>function previewPhoto(event) {var reader new FileReader();reader.onload function(…

MySQL字符数据查询拆分

MySQL字符数据查询拆分 问题描述 数据表中某字段为特定单词组字符串&#xff0c;特定字符分隔。 现有需求&#xff1a;在不影响原始数据的情况下&#xff0c;查询显示拆分后的单词&#xff0c;方便后续对其进行后续操作。 演示 演示数据源 -- 测试表结构create table word_…

Java中创建不可变对象实现细节和例子

当我们在Java中创建不可变对象时&#xff0c;我们需要确保对象的状态在创建之后不能被修改。以下是一些具体的实现细节和例子&#xff0c;展示了如何在Java中创建不可变对象。 实现细节 使用final关键字&#xff1a; 类定义前使用final关键字&#xff0c;表示该类不能被继承&…

Mysql中的慢查询

Mysql慢查询的一些sql命令 慢查询的默认事件为10秒 #注意&#xff1a;慢查询一般是在调试阶段开启的&#xff0c;在开发阶段中一般不会开启&#xff0c;会对效率产生延误 #查询慢查询是否开启 show variables like %general%; #慢查询时间设置 show variables like long_query…

【运维项目经历|018】:Elasticsearch智能数据分析平台项目

目录 项目名称 项目背景 项目目标 项目成果 我的角色与职责 我主要完成的工作内容 本次项目涉及的技术 本次项目遇到的问题与解决方法 本次项目中可能被面试官问到的问题 问题1&#xff1a;本次项目周期&#xff1f; 问题2&#xff1a;服务部署架构方式及数量和配置&…

【简明指南:Python中的异常处理与稳健代码设计】

文章目录 前言异常处理基础捕获多种异常确保资源被释放使用else子句自定义异常结论 前言 软件开发过程中&#xff0c;保证代码的稳健性和可靠性至关重要。异常处理是实现这一目标的关键技术之一。在Python编程中&#xff0c;合理地捕获和处理异常不仅能提高程序的健壮性&#…

查找专利渠道

官方渠道 常规检索 (cnipa.gov.cn)https://pss-system.cponline.cnipa.gov.cn/conventionalSearch 佰腾网 佰腾网 - 查专利就上佰腾网_佰腾全球专利搜索平台_商标查询平台_企业工商信息查询平台 (baiten.cn)https://www.baiten.cn/

NLP(19)--大模型发展(3)

前言 仅记录学习过程&#xff0c;有问题欢迎讨论 大模型训练相关知识&#xff1a; 问题&#xff1a; 数据集过大&#xff0c;快速训练模型过大&#xff0c;gpu跑不完 方案&#xff1a; 数据并行训练&#xff1a; 复制数据&#xff08;batch_size&#xff09;到多个gpu&…

簡述vue-router的動態路由

动态路由 addRoute 是 Vue Router 中的一个功能&#xff0c;它允许你在运行时动态地向路由表添加路由规则。这在一些需要基于用户行为或异步数据加载路由的场景中非常有用。以下是对 addRoute 功能的详细解释和使用示例&#xff1a; 1. 动态路由的概念 动态路由是指在应用运行…

[杂项]优化AMD显卡对DX9游戏(天谕)的支持

目录 关键词平台说明背景RDNA 1、2、3 架构的显卡支持游戏一、 优化方法1.1 下载 二、 举个栗子&#xff08;以《天谕》为例&#xff09;2.1 下载微星 afterburner 软件 查看游戏内信息&#xff08;可跳过&#xff09;2.2 查看D3D9 帧数2.3 关闭游戏&#xff0c;替换 dll 文件2…

精品PPT | MES设计与实践,业务+架构+实施(免费下载))

【1】关注本公众号&#xff0c;转发当前文章到微信朋友圈 【2】私信发送 MES设计与实践 【3】获取本方案PDF下载链接&#xff0c;直接下载即可。 如需下载本方案PPT/WORD原格式&#xff0c;请加入微信扫描以下方案驿站知识星球&#xff0c;获取上万份PPT/WORD解决方案&#x…

linux的chmod的数字太难记了,用u, g, o, a更简单!

u, g, o, 和 a是用来设置或查看文件或目录权限在类Unix或Linux系统中的特殊字符&#xff0c;它们分别代表文件或目录的所有者(user)、所属组(group)、其他用户(others)和所有用户(all users)。 而权限方r和w是其中的两种&#xff0c;分别代表读权限&#xff08;read&#xff0…

【探索数据结构】线性表之单链表

&#x1f389;&#x1f389;&#x1f389;欢迎莅临我的博客空间&#xff0c;我是池央&#xff0c;一个对C和数据结构怀有无限热忱的探索者。&#x1f64c; &#x1f338;&#x1f338;&#x1f338;这里是我分享C/C编程、数据结构应用的乐园✨ &#x1f388;&#x1f388;&…

Autodl服务器中Faster-rcnn(jwyang)复现(一)

前言 在做实验时需要用到faster-rcnn做对比,本节首先完成代码复现,用的数据集是VOC2007~ 项目地址:https://github.com/jwyang/faster-rcnn.pytorch/tree/pytorch-1.0 复现环境:autodl服务器+python3.6+cuda11.3+Ubuntu20.04+Pytorch1.10.0 目录 一、环境配置二、编译cud…

2024年软考总结 信息系统管理师

选择题 英文题&#xff0c;我是一题也没把握&#xff0c;虽然我理解意思。 千万不要认为考死记硬背不对。目的不在于这。工程项目中有很多重要的数字&#xff0c;能记住说明你合格。 案例 几乎把答案全写在案例中了。 计算题 今年最简单。没有考成本。 只考了关键路径&a…

头歌OpenGauss数据库-I.复杂查询第8关:两门及以上课程不及格的学生

任务描述 本关任务:根据提供的表和数据,查询两门及其以上不及格课程的同学的学号(s_id)、姓名(s_name)及其平均成绩(avg_score),要求计算平均成绩后为整数。 student表数据: s_ids_names_sex01Mia女02Riley男03Aria女04Lucas女05Oliver男06Caden男07Lily女08Jacob男c…

安卓开发:相机水印设置

1.更新水印 DecimalFormat DF new DecimalFormat("#"); DecimalFormat DF1 new DecimalFormat("#.#");LocationManager LM (LocationManager)getSystemService(Context.LOCATION_SERVICE); LM.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2…