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

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

off999 2025-03-05 20:09 17 浏览 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设计模式 第 13 章 中介者模式(Mediator Pattern)

在行为型模式中,中介者模式是解决“多对象间网状耦合”问题的核心模式。它就像“机场调度中心”——多个航班(对象)无需直接沟通起飞、降落时间,只需通过调度中心(中介者)协调,避免航班间的冲突与混乱...

1.3.1 python交互式模式的特点和用法

什么是Python交互模式Python交互模式,也叫Python交互式编程,是一种在Python解释器中运行的模式,它允许用户在解释器窗口中输入单个Python语句,并立即查看结果,而不需要编写整个程...

Python设计模式 第 8 章 装饰器模式(Decorator Pattern)

在结构型模式中,装饰器模式是实现“动态功能扩展”的核心模式。它就像“手机壳与手机的关系”——手机(原始对象)具备通话、上网等基础功能,手机壳(装饰器)可在不改变手机本身的前提下,为其新增保护、...

python设计模式 综合应用与实战指南

经过前面16章的学习,我们已系统掌握创建型模式(单例、工厂、建造者、原型)、结构型模式(适配器、桥接、组合、装饰器、外观、享元、代理)、行为型模式(责任链、命令、迭代器、中介者、观察者、状态、策略...

Python入门学习教程:第 16 章 图形用户界面(GUI)编程

16.1什么是GUI编程?图形用户界面(GraphicalUserInterface,简称GUI)是指通过窗口、按钮、菜单、文本框等可视化元素与用户交互的界面。与命令行界面(CLI)相比,...

Python 中 必须掌握的 20 个核心:str()

str()是Python中用于将对象转换为字符串表示的核心函数,它在字符串处理、输出格式化和对象序列化中扮演着关键角色。本文将全面解析str()函数的用法和特性。1.str()函数的基本用法1.1...

Python偏函数实战:用functools.partial减少50%重复代码的技巧

你是不是经常遇到这样的场景:写代码时同一个函数调用了几十次,每次都要重复传递相同的参数?比如处理文件时总要用encoding='utf-8',调用API时固定传Content-Type...

第2节.变量和数据类型【第29课-输出总结】

同学们,关于输出的知识点讲解完成之后,把重点性的知识点做一个总结回顾。·首先对于输出这一章节讲解的比如有格式化符号,格式化符号这里需要同学们额外去多留意的是不是百分号s格式化输出字符串。当然课上也说百...

AI最火语言python之json操作_python json.loads()

JSON(JavaScriptObjectNotation,JavaScript对象表示法)是一种开放标准的文件格式和数据交换格式,它易于人阅读和编写。JSON是一种常用的数据格式,比如对接各种第...

python中必须掌握的20个核心函数—split()详解

split()是Python字符串对象的方法,用于将字符串按照指定的分隔符拆分成列表。它是文本处理中最常用的函数之一。一、split()的基本用法1.1基本语法str.split(sep=None,...

实用方法分享:pdf文件分割方法 横向A3分割成纵向A4

今天在街上打印店给儿子打印试卷时,我在想:能不能,把它分割成A4在家中打印,这样就不需要跑到街上的打印店打印卷子了。原来,老师发的作业,是电子稿,pdf文件,A3格式的试卷。可是家中的打印机只能打印A...

20道常考Python面试题大总结_20道常考python面试题大总结免费

20道常考Python面试题大总结关于Python的面试经验一般来说,面试官会根据求职者在简历中填写的技术及相关细节来出面试题。一位拿了大厂技术岗SpecialOffer的网友分享了他总结的面试经...

Kotlin Data Classes 快速上手_kotlin快速入门

引言在日常开发中,我们常常需要创建一些只用来保存数据的类。问题是,这样的类往往需要写一堆模板化的方法:equals()、hashCode()、toString()……每次都重复,既枯燥又容易出错。//...

python自动化RobotFramework中Collections字典关键字使用(五)

前言介绍安装好robotframework库后,跟之前文章介绍的BuiltIn库一样BuiltIn库使用介绍,在“python安装目录\Lib\site-packages\robot\librarie...

Python中numpy数据分析库知识点总结

Python中numpy数据分析库知识点总结二、对已读取数据的处理②指定一个值,并对该值双边进行修改③指定两个值,并对第一个值的左侧和第二个值的右侧进行修改2.4数组的拼接和行列交换①竖直拼接(np...

取消回复欢迎 发表评论: