百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

运维小白---centOS系统下部署基础项目

off999 2025-03-05 20:09 14 浏览 0 评论

一、环境jdk安装

检查jdk是否已有安装有,如果已有,下面几个步骤不需要执行。没有则执行 # java -version 如返回空值,则没有安装, 已安装jdk情况下,返回信息如下:

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

使用yum命令在线安装jdk。 # yum -y list java*

#yum install java-1.8.0-openjdk.x86_64 安装过程中会进行确认,属于’y’,进行确认

安装完成后再次检查看是否安装成功。 #java -version

出现以上提示表示jdk已安装完成。

java路径查询

#which java

# which java

# ls -lrt /usr/bin/java

# ls -lrt /etc/alternatives/java

这个是java路径,后续有用到:

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el8_1.x86_64/jre/bin/java

/usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java

二、中间件安装tomcat,主要运行包

上传tomcat安装包到/opt/soft目录下 yum install lrzsz (统一放在/opt/soft目录下,在opt目录下创建soft文件夹) # cd /opt #mkdir soft

上传完成后对tomcat压缩包进行解压 sudo yum install unzip 第一步:修改压缩包的权限: chmod 775 apache-tomcat-9.0.31.zip (后面文件名根据实际填写) 第二步:对tomcat文件进行解压:unzip apache-tomcat-9.0.31.zip

解压后有这样一个没有后缀的文件。 赋予目录权限:chmod -R 775 apache-tomcat-9.0.31

对tomcat包进行重新命名(尽量的统一用tomcat+下划线+端口,方便维护) mv apache-tomcat-9.0.31(文件夹名称) tomcat_80(修改后的名称)

由于我们需要前后端分离,部署两个tomcat,可以对tomcat_80复制一份并改为其他名称 cp -r tomcat_80 tomcat_8080 (复制文件夹的时候需要加-r,如果是复制文件则不用)

修改tomcat的启动、关闭端口 第一步: 放置两个tomcat后,我们就需要去修改他们的启动和关闭端口,避免他们的端口冲突 4.1 进去tomcat_80的配置文件,对配置文件进行修改

#cd /opt/tomcat_80/conf

#vi server.xml (备注一:如果不熟悉vi命令进去编辑,就下载文件到本地修改完了后再上传覆盖,但是要注意文件权限是否变化了) (备注二:如果是部署两个tomcat的话,只修改其中一个即可,比如说只修改tomcat_8080这个tomcat的配置文件)

完成tomcat配置后,对CATALINA环境变量进行配置,如果服务器只有一个Tomcat的时候可以不用做该步骤。超过2个或以上的都需要 5.1 修改环境变量 改/etc目录下的profile文件,添加一组java环境变量,和两组CATALINA环境变量;修改后的profile文件示例如下:   

#tomcat_80   

export CATALINA_BASE=/opt/tomcat80--------(第一个tomcat实际路径)   

export CATALINA_HOME=/opt/tomcat80   

export TOMCAT_HOME=/opt/tomcat80   

#tomcat_8080   

export CATALINA_BASE2=/opt/tomcat_8080 -----(第二个tomcat实际路径)   

export CATALINA_HOME2=/opt/tomcat_8080   

export TOMCAT_HOME2=/opt/tomcat_8080 (把上面的信息添加到/etc/prfile文件的最前面,注意把备注的中文去掉,如果有第二个以上,按照这个方式继续写第三个tomcat配置信息)

修改完成后使配置生效,执行以下命令(记得执行) #source /etc/profile

修改两个tomcat下面bin下的catalina.sh文件。修改后的示例如下:

#cd /opt/tomcat_80/bin #vi catalina.sh (插入以下内容,放在最前面)

export JAVA_HOME=
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el8_1.x86_64/jre(前面查询到的java路径,在最后加/jre)

export CATALINA_HOME=$CATALINA_HOME

export CATALINA_BASE=$CATALINA_BASE

修改第二个tomcat_8080的catalina.sh文件,修改后的示例如下:

#cd /opt/tomcat_8080/bin #vi catalina.sh (插入以下内容,放在最前面)

export JAVA_HOME=
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el8_1.x86_64/jre(前面查询到的java路径,在最后加/jre)

export CATALINA_BASE=$CATALINA_BASE2

export CATALINA_HOME=$CATALINA_HOME2

启动tomcat测试是否能正常启动 #cd /opt/tomcat_80/bin

#nohup sh startup.sh &

# ps -ef|gerp tomcat(查看tomcat是否启动成功) 成功后提示如下:

同样再去启动第二个tomcat_8080 #cd /opt/tomcat_8090/bin #nohup sh startup.sh & # ps -ef|gerp tomcat(查看第二个tomcat_8080是否启动成功)

关闭tomcat方法

#ps -ef |grep tomcat

红框的编号为进程的编号,使用kill名称关闭进程即可

#kill -9 10731

#kill -9 10831

三、前后端分离,以及域名或中间代理,Nginx安装

whereis nginx

安装前检查依赖包是否安装

#yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

开始安装 #yum install nginx

启动nginx #systemctl start nginx

设置nginx开机自启动 #systemctl enable nginx

重启服务器,看nginx是否能正常开机自启动

关闭nginx #systemctl stop nginx

修改nginx配置文件 #cd /etc/nginx #vi nginx.conf (把对应的IP值或者域名进行修改)

另一种安装方法: 安装命令:

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

nginx下载地址:
https://nginx.org/download/

下载“nginx-1.9.9.tar.gz”,移动到/usr/local/下。

## 解压 tar -zxvf nginx-1.9.9.tar.gz

##进入nginx目录 cd nginx-1.9.9

## 配置 Cd /usr/local Mkdir nginx ./configure --prefix=/usr/local/nginx

# make make make install

四、缓存,黑白名单处理,Redis安装


上传完成后进行解压

# tar xzf redis-5.0.8.tar.gz

解压完成进行修改文件权限和安装

#chmod -R 775 redis-5.0.8

# cd redis-5.0.8

#yum install gcc

输入y

查询是否已有依赖包

#yum list gcc

开始安装

# cd redis-5.0.8

#make MALLOC=libc

#cd src && make install

检查是否安装成功

#./redis-server

出现如上图所示则表示安装成功,按ctrl+C强制退出关闭

设置开机自启动

在/etc目录下新建redis目录

#cd /etc

#mkdir redis

须命名为这个名字) # cp
/opt/soft/redis-5.0.8/redis.conf /etc/redis/6379.conf

将redis的启动脚本复制一份放到/etc/init.d目录下 #cp
/opt/soft/redis-5.0.8/utils/redis_init_script /etc/init.d/redisd

测试启动redis是否成功 先切换到/etc/init.d目录下 然后执行自启命令 #cd /etc/init.d #chkconfig redisd on #service redisd start

出现如上图则启动成功。Ctrl+C强制退出

重启服务器,看Redis是否开机自启动

#reboot

重新登录

#ps -ef|grep redis

查看已有进程,开机自启动设置成功。

五、Mysq5.7数据库安装(最简单得数据库),也可以使用sql server,oracle

上传mysql5.7安装包到服务器

解压文件 #tar xvf
mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar mysql_rpm

安装rpm包

rpm -qa |grep maridb

rpm -e mariadb-libs-5.5.52-1.el7.x86_64

rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

#rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm

#rpm -ivh
mysql-community-libs-5.7.29-1.el7.x86_64.rpm   

#rpm -ivh
mysql-community-client-5.7.29-1.el7.x86_64.rpm   

#rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm

启动mysql 启动前先设置跳过密码,不需要密码直接登录,等候再进行修改密码。

在/etc/my.cnf文件中,并在其下添加skip-grant-tables,登录时跳过密码,登进去后重设登录密码

启动mysql服务: #service mysqld start

登录mysql 并设置密码 #mysql 修改密码 mMysql>flush privileges;

允许全部用户登陆

mysql mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

set password for root@localhost = password('123456');

重载授权表: mysql>FLUSH PRIVILEGES;

mysql -u root -p

创建数据库并导入数据文件 mysql>create database XXX charset utf8;------XXX为库名,要记录库名到时候进行配置文件修改。

导入前把数据库文件上传到/opt目录 #mysql -uroot -p 输入密码

Mysql>use XXX;

Mysql>source /opt/soft/XXX.sql; (上次文件的所在路径)

show global variables like 'port'; 查看端口 5.7开机自启动 按照以上步骤来安装,一般是默认开机自启动,需要进行重启测试下看是否能登录。

Mysql定时备份

在opt目录下创建mysql_back文件夹

yum install -y vixie-cron

#cd /opt

#mkdir mysql_back

进去mysql_back文件夹,创建要执行备份的脚本文件mysql.sh

#cd mysql_back

#touch mysql.sh

#chmod 744 mysql.sh (赋予权限)

#vi mysql.sh mysqldump -hlocalhost -uroot -pXXX -x XXXX>/opt/mysql_back/date_$(date +%d).sql 复制上面内容到文件里面(注意根据实际密码和库名进行修改)

设置定时任务

#crontab -l 0 12 * * * sh /opt/mysql_back/mysql.sh (./mysql.sh)

设置定时任务,设置每天12点定期执行mysql.sh文件。

六,上传部署系统文件

上传到tomcat/webapps,然后找研发问下配置文件更改,然后启动tomcat,

curl访问链接

相关推荐

Python钩子函数实现事件驱动系统(created钩子函数)

钩子函数(HookFunction)是现代软件开发中一个重要的设计模式,它允许开发者在特定事件发生时自动执行预定义的代码。在Python生态系统中,钩子函数广泛应用于框架开发、插件系统、事件处理和中...

Python函数(python函数题库及答案)

定义和基本内容def函数名(传入参数):函数体return返回值注意:参数、返回值如果不需要,可以省略。函数必须先定义后使用。参数之间使用逗号进行分割,传入的时候,按照顺序传入...

Python技能:Pathlib面向对象操作路径,比os.path更现代!

在Python编程中,文件和目录的操作是日常中不可或缺的一部分。虽然,这么久以来,钢铁老豆也还是习惯性地使用os、shutil模块的函数式API,这两个模块虽然功能强大,但在某些情况下还是显得笨重,不...

使用Python实现智能物流系统优化与路径规划

阅读文章前辛苦您点下“关注”,方便讨论和分享,为了回馈您的支持,我将每日更新优质内容。在现代物流系统中,优化运输路径和提高配送效率是至关重要的。本文将介绍如何使用Python实现智能物流系统的优化与路...

Python if 语句的系统化学习路径(python里的if语句案例)

以下是针对Pythonif语句的系统化学习路径,从零基础到灵活应用分为4个阶段,包含具体练习项目和避坑指南:一、基础认知阶段(1-2天)目标:理解条件判断的逻辑本质核心语法结构if条件:...

[Python] FastAPI基础:Path路径参数用法解析与实例

查询query参数(上一篇)路径path参数(本篇)请求体body参数(下一篇)请求头header参数本篇项目目录结构:1.路径参数路径参数是URL地址的一部分,是必填的。路径参...

Python小案例55- os模块执行文件路径

在Python中,我们可以使用os模块来执行文件路径操作。os模块提供了许多函数,用于处理文件和目录路径。获取当前工作目录(CurrentWorkingDirectory,CWD):使用os....

python:os.path - 常用路径操作模块

应该是所有程序都需要用到的路径操作,不废话,直接开始以下是常用总结,当你想做路径相关时,首先应该想到的是这个模块,并知道这个模块有哪些主要功能,获取、分割、拼接、判断、获取文件属性。1、路径获取2、路...

原来如此:Python居然有6种模块路径搜索方式

点赞、收藏、加关注,下次找我不迷路当我们使用import语句导入模块时,Python是怎么找到这些模块的呢?今天我就带大家深入了解Python的6种模块路径搜索方式。一、Python模块...

每天10分钟,python进阶(25)(python进阶视频)

首先明确学习目标,今天的目标是继续python中实例开发项目--飞机大战今天任务进行面向对象版的飞机大战开发--游戏代码整编目标:完善整串代码,提供完整游戏代码历时25天,首先要看成品,坚持才有收获i...

python 打地鼠小游戏(打地鼠python程序设计说明)

给大家分享一段AI自动生成的代码(在这个游戏中,玩家需要在有限时间内打中尽可能多的出现在地图上的地鼠),由于我现在用的这个电脑没有安装sublime或pycharm等工具,所以还没有测试,有兴趣的朋友...

python线程之十:线程 threading 最终总结

小伙伴们,到今天threading模块彻底讲完。现在全面总结threading模块1、threading模块有自己的方法详细点击【threading模块的方法】threading模块:较低级...

Python信号处理实战:使用signal模块响应系统事件

信号是操作系统用来通知进程发生了某个事件的一种异步通信方式。在Python中,标准库的signal模块提供了处理这些系统信号的机制。信号通常由外部事件触发,例如用户按下Ctrl+C、子进程终止或系统资...

Python多线程:让程序 “多线作战” 的秘密武器

一、什么是多线程?在日常生活中,我们可以一边听音乐一边浏览新闻,这就是“多任务处理”。在Python编程里,多线程同样允许程序同时执行多个任务,从而提升程序的执行效率和响应速度。不过,Python...

用python写游戏之200行代码写个数字华容道

今天来分析一个益智游戏,数字华容道。当初对这个游戏颇有印象还是在最强大脑节目上面,何猷君以几十秒就完成了这个游戏。前几天写2048的时候,又想起了这个游戏,想着来研究一下。游戏玩法用尽量少的步数,尽量...

取消回复欢迎 发表评论: