环境部署(物理手工部署):

2023-05-16

环境搭建的思路

1、找开发了解下项目使用的一些组件,比如说jdk、数据库、缓存、中间件
2、搭建这些依赖组件的环境:jdk、mysql、tomcat
3、将项目需要用到的数据库sql导入到数据库里
4、把项目包传到tomcat的目录下
5、修改项目包中的配置文件,配置数据库相关的信息(ip、端口、用户名、密码、库名)
6、启动tomcat

一、Mysql安装配置

1、 将群文件中的 mysql-community-5.7-all.zip 文件上传到 Linux 下的/usr/local/src 目录下
(其他目录也可以)
2、 对压缩包进行解压
unzip mysql-community-5.7-all.zip
cd mysql-community-5.7-all
可以看到里面包含 4 个安装包

3、 分别执行以下命令安装四个包(严格按照顺序执行)
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm --force --nodeps
4、 启动 MySQL
systemctl start mysqld
启动成功后,执行 ps -ef|grep mysql 命令查看进程是否存在

5、 查找生成的临时密码,并记录下来,如下图
grep 'temporary password' /var/log/mysqld.log

6、 登录 MySQL
mysql -u root -p
粘贴刚才记录的临时密

7、 修改密码(注意密码长度大于 8 位,包含大小写字母+特殊符号+数字),以分号结尾
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Testfan#123';
8、 设置权限,允许用户远程访问

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Testfan#123' WITH GRANT
OPTION;

9、 退出 MySQL
exit

10、关闭防火墙
systemctl stop firewalld.service

systemctl disable firewalld

二、Tomcat安装配置

单项目部署

1、 先将项目放到 tomcat 的 webapps 目录下
注意:如果项目是 war 包形式的,需要先创建 pinter 文件夹,然后在文件夹内对 war 包
进行解压:unzip pinter.war
将 pinter 项目需要用到的数据库 pinter 和相关表导入的 MySQL 中,然后修改 pinter 项
目的配置文件/pinter/WEB-INF/classes/application.properties,修改其中的数据库相关信
息。

2、 进到 bin 目录下,执行命令:
./startup.sh & tail -f ../logs/catalina.out

3、 查看控制台日志,项目是否启动成功
4、 浏览器访问 pinter 项目进行验证
http://{ip}:{port}/index

多项目部署

1、 将 OA 项目放到 tomcat 的 webapps 目录下
2、 配置 OA 项目所需要的数据库信息(数据库必须启动,且已经导入了 oa.sql)
TestOA/WEB-INF/classes/jdbc.properties 文件,修改数据库的连接信息
3、 修改 tomcat-oa 的 conf/server.xml 文件
a> <Server port="8005" shutdown="SHUTDOWN"> 将 8005 改为其他的
b> <Connector port="8080" protocol="HTTP/1.1 将 8080 改为其他的
c> <Connector port="8009" protocol="AJP/1.3" 将 8009 改为其他的
d> <Host></Host>标签中添加项目路径配置,参考 pinter 项目
4、 启动 tomcat,查看控制台日志,项目是否启动成功
5、 浏览器访问 OA 项目进行验证

Tomcat 访问日志配置

tomcat 的 logs 目录下 localhost_access_log.xxxx-xx-xx.txt 里记录了访问 tomcat 的日志,可
以通过配置,使访问日志中显示请求耗时
修改 tomcat 的 conf 目录下 server.xml 文件,在 pattern 属性里添加%T
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b %T" />
重启 tomcat,查看 access 日志,红框里代表就是请求的耗时,单位秒

集群环境下用户访问面临的问题
1、没有统一的访问入口
2、如果通过ip和端口号访问的话,服务器流量分配不均匀

三、Nginx 安装配置

Nginx 安装

Nginx 安装前需要先安装 pcre、openssl、zlib 等模块,手动安装比较繁琐,所以推荐使用
yum 进行安装
问题咨询-->
1、 默认情况下 CentOS7 中没有 nginx 的下载源,先手动添加官方源
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-
0.el7.ngx.noarch.rpm
2、 安装 Nginx
yum install -y nginx

Nginx 配置

Nginx 默认安装到/etc/nginx 目录下,nginx.conf 为主配置文件,保持默认配置即可。
在 Nginx 中,每个 web 项目都有自己的一个配置文件,配置了本项目的访问方式
1、进入 nginx 目录下的 conf.d 文件夹,包含了一个默认配置文件模板 default.conf
2、重命名配置文件
mv default.conf pinter.conf
3、 编辑 pinter.conf 配置文件,在 server 模块前面新增
upstream www.pinter.com {
server 192.168.2.120:8080 weight=10 max_fails=2 fail_timeout=30s;
server 192.168.2.130:8080 weight=10 max_fails=2 fail_timeout=30s;
}
注意:红色字体根据实际情况修改,两个 ip 为本项目部署在哪些服务器上
4、 将 server_name 修改为 www.pinter.com(根据实际情况修改),access.log 的注释去掉,
后面文件名称改为项目名称
5、将 location 中的 root、index 注释掉,新增 proxy_pass http://www.pinter.com;
注意:proxy_pass 后的域名名称必须和 upstream 名称保持一致

6、 conf.d 目录下可以放多个项目,配置方法同上

7、 启动 nginx
在任意目录下执行命令:nginx

如果没有任何报错,就代表启动成功了
nginx -s reload:重启 nginx
nginx -s stop:停止 nginx

8、 在本机(Windows/Mac),修改 host 文件,配置两个项目的 ip 和域名映射关系
Windows 系统 host 文件在 C:\Windows\System32\drivers\etc\hosts

Nginx 访问日志配置

用户每次访问 nginx,都会在项目的 access.log 里记录一行日志。可以在访问日志里记录请
求耗时,这样方便排查问题
配置方法
在 Nginx 的主配置文件 nginx.conf 中

重启 nginx,在项目 access.log 里,可以看到每个请求的耗时了

Nginx 负载均衡策略配置

打开 conf.d 目录下的项目配置文件,在 upstream 模块中,添加负载均衡策略
四种策略:
轮询:默认策略
ip_hash:根据 ip 进行 hash 算法,固定的 ip 分配到固定的后端 server

fair:根据后端 server 的响应时间来分配请求,响应时间短的优先分配
url_hash:根据 url 进行 hash 算法,固定的 url 分配到固定的后端 server

ip_hash
后端有2个tomcat,序号分别为1、2
192.168.2.88 -> 1
192.168.2.89 -> 2

url_hash
/index -> 1
/login -> 2

cd tomcat-oa/logs/
tail -f  localhost_access_log.2022-0918(项目执行请求日志)

Tomcat的日志,一般都是放在logs目录下
catalina.out:tomcat自带的日志文件,通常代码中开发打印的日志都会记录到此文件中
localhost_access.txt:tomcat自带的日志文件,会记录所有访问tomcat的url信息

 

四、Redis 安装配置

Yum 官方源里没有 redis,所以采用手动源码安装
1、 上传 redis 安装包到 Linux 任意目录下,解压 tar xvf redis-5.0.7.tar.gz
2、 安装 gcc(redis 安装依赖 C 语言环境,需要先安装 gcc)
yum install -y gcc
3、 进入解压后的 redis 目录下,执行编译操作
make
4、 执行安装命令
make install
5、 安装成功

Redis 配置


1、 在 redis 目录下,新建 conf 文件夹,将 redis.conf 配置文件拷贝到 conf 文件夹下
mkdir conf
cp redis.conf ./conf
2、修改 redis.conf 配置文件
daemonize 改为 yes
将 bind 127.0.0.1 注释掉
protected-mode 改为 no
Redis 启动
1、 先启动 server,在 conf 目录下,执行
redis-server ./redis.conf

2、 使用客户端登录 redis,默认连接的是 6379 端口的 redis 实例
redis-cli -p 6379

3、 关闭 redis-server
redis-cli shutdown

Redis 其他配置
maxclient:最大连接数,默认是 10000
问题咨询-->
maxmemory:最大内存
requirepass:设置密码

redis有密码的情况下
登录:redis-cli -p 端口 -a 密码
如果主redis中配置了密码,从redis中也必须配置主redis的密码,否则数据无法同步
在从redis的配置文件中,添加"masterauth 主redis密码"

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

环境部署(物理手工部署): 的相关文章

  • CLion找不到头文件解决方案

    这两天我的air换了硬盘 xff0c 使用时间机器恢复 xff0c 出现五国问题 xff0c 被迫重装系统 xff0c 结果发现CLion找不到头文件了 xff0c 所有的头文件下面都有红色波浪形标错 xff0c 找了两种方法 xff0c
  • 东东与 ATM(多重背包)

    问题描述 一家银行计划安装一台用于提取现金的机器 机器能够按要求的现金量发送适当的账单 机器使用正好N种不同的面额钞票 xff0c 例如 D k xff0c k 61
  • 网络Socket编程指南

    文章目录 前言1 xff09 说明2 xff09 介绍3 xff09 读者对象4 xff09 平台和编译器5 xff09 Windows程序员要注意的事情 正文一 何为Socket 1 xff09 什么是 socket 2 xff09 In
  • N-ary Trie的实现与分析(字典树)

    实现功能 初始化文档 xff08 默认文档中全是小写字母 xff0c 并且无重复单词 xff09 xff0c 将内部单词存入字典树 xff08 每行一个单词 xff09 xff0c 实现以下功能 xff1a 查找单词 xff08 输出单词行
  • linux c++select多人聊天程序

    比较简单的多人聊天程序 xff0c 可直接运行 主要是实现功能 没有界面也没有多余功能 xff0c 只是实现群聊天的功能 c s模式 server端用select多路复用来做 xff0c 可以接受多个客户端连接 client端启动2个线程控
  • Week12-必做题2(BFS搜索三维迷宫)

    问题描述 zjm被困在一个三维的空间中 现在要寻找最短路径逃生 xff01 空间由立方体单位构成 zjm每次向上下前后左右移动一个单位需要一分钟 xff0c 且zjm不能对角线移动 空间的四周封闭 zjm的目标是走到空间的出口 是否存在逃出
  • TT的奖励(动态规划)

    问题描述 在大家不辞辛劳的帮助下 xff0c TT 顺利地完成了所有的神秘任务 神秘人很高兴 xff0c 决定给 TT 一个奖励 xff0c 即白日做梦之捡猫咪游戏 捡猫咪游戏是这样的 xff0c 猫咪从天上往下掉 xff0c 且只会掉在
  • Q老师与十字叉

    问题描述 Q老师 得到一张 n 行 m 列的网格图 xff0c 上面每一个格子要么是白色的要么是黑色的 Q老师认为失去了 十字叉 的网格图莫得灵魂 一个十字叉可以用一个数对 x 和 y 来表示 其中 1 x n 并且 1 y m 满足在第
  • Q老师的考验(矩阵快速幂)

    问题描述 Q老师 对数列有一种非同一般的热爱 xff0c 尤其是优美的斐波那契数列 这一天 xff0c Q老师 为了增强大家对于斐波那契数列的理解 xff0c 决定在斐波那契的基础上创建一个新的数列 f x 来考一考大家 数列 f x 定义
  • ZJM 与纸条(KMP算法)

    问题描述 ZJM 的女朋友是一个书法家 xff0c 喜欢写一些好看的英文书法 有一天 ZJM 拿到了她写的纸条 xff0c 纸条上的字暗示了 ZJM 的女朋友 想给 ZJM 送生日礼物 ZJM 想知道自己收到的礼物是不是就是她送的 xff0
  • TT数鸭子

    问题描述 这一天 xff0c TT因为疫情在家憋得难受 xff0c 在云吸猫一小时后 xff0c TT决定去附近自家的山头游玩 TT来到一个小湖边 xff0c 看到了许多在湖边嬉戏的鸭子 xff0c TT顿生羡慕 此时他发现每一只鸭子都不一
  • Safari下载东西太慢怎么办?

    因为latex环境出了一点问题 xff0c 找半天都没找到解决方案 xff0c 所以决定卸载重装 打开MaxTex官网后 xff0c 下载 xff1a 这个时候 xff0c 我们需要打开safari的偏好设置 选择最下面的 xff1a 在菜
  • 为什么等价无穷小不能在加减法中使用

    无论是课堂上还是教科书中 xff0c 都会告诉我们 xff0c 等价无穷小替换只能在乘除法中使用 xff0c 不能在加减法中使用 但是大家会发现 xff0c 有的时候在加减法中使用等价无穷小是可以得到正确结果的 xff0c 那是否在加减法中
  • B Spline(B样条曲线)

    文章目录 说明B样条曲线代码 说明 在阅读此博客前 xff0c 请访问2018级山东大学计算机学院图形学实验汇总 原笔记通过latex编写 xff0c csdn只支持latex部分功能 xff0c 所以下面主要是将pdf截屏上传 部分内容参
  • 从几何意义上理解逆矩阵与伴随矩阵的特征值与特征向量

    文章目录 矩阵 行列式 逆矩阵 伴随矩阵的几何意义矩阵逆矩阵行列式伴随矩阵 特征值与特征向量的几何意义逆矩阵与伴随矩阵的特征值和特征向量后记 矩阵 行列式 逆矩阵 伴随矩阵的几何意义 矩阵 首先要理解矩阵的作用 xff0c 矩阵是一种空间变
  • 树莓派——win10远程登录以及蓝屏问题(转载)

    https blog csdn net yolanda salvatore article details 106439903
  • 从数学上推导伴随矩阵特征值

    矩阵A的特征值非0的情况 设矩阵A的特征值为 lambda xff0c 则有 A x 61
  • [leetcode] 863二叉树中所有距离为K的结点

    问题描述 给定一个二叉树 xff08 具有根结点 root xff09 xff0c 一个目标结点 target xff0c 和一个整数值 K 返回到目标结点 target 距离为 K 的所有结点的值的列表 答案可以以任何顺序返回 示例 输入
  • “操作无法完成,因为其中的文件或文件夹一再另一程序打开”解决方法

    windows系统中 xff0c 有时时候我们想要修改某个文件 xff0c 就出现出现如下提示 xff1a 操作无法完成 xff0c 因为其中的文件或文件夹已在另一程序打开 请关闭该文件或文件夹 xff0c 然后重试 出现这个上面提示的原因
  • 谷歌浏览器的本地收藏夹在什么位置?

    谷歌浏览器的本地收藏夹在什么位置 xff1f 为什么写这个文章呢 xff1f 主要是因为自己平常学习的时候会将很多自己想要保存的网页或者课程网址放到自己谷歌浏览器的收藏夹下 但是怕以后要重装系统的时候将之前的本地谷歌收藏夹删除 所以自己特意

随机推荐