Linux系统前后端分离项目

目录

一.jdk安装

 二.tomcat安装

三.MySQL安装

四.nginx安装

五.Nginx负载均衡tomcat

六.前端部署

一.jdk安装

1. 上传jdk安装包 jdk-8u151-linux-x64.tar.gz

进入opt目录,将安装包拖进去

 

2. 解压安装包

 这里需要解压到usr/local目录下,在这里新建一个文件夹保存解压后的文件

[root@localhost opt]# cd /usr/local/
[root@localhost local]# mkdir java

然后再进入到opt目录下进行解压

[root@localhost local]# cd /opt/
[root@localhost opt]# tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local/java

3. 进入/etc/profile文件中,配置环境变量

[root@localhost java]# vim /etc/profile
i键进入编辑模式,ESC退出编辑,:wq保存并退出 

#java environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_151/  
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

设置环境变量生效

[root@localhost java]# source /etc/profile
安装完成后,可以查看

[root@localhost java]# java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

 二.tomcat安装

1. 上传安装包 apache-tomcat-8.5.20.tar.gz

跟jdk一样,直接将安装包拖入到opt目录下即可

2. 解压安装包

在opt目录下进行解压,解压到usr/local/java目录下

[root@localhost java]# cd /opt/
[root@localhost opt]# tar -zxvf apache-tomcat-8.5.20.tar.gz -C /usr/local/java

3. 启动tomcat

[root@localhost java]# cd apache-tomcat-8.5.20/bin/
[root@localhost bin]# ./startup.sh

 4. 防火墙设置

 

1、开放8080端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

2、刷新防火墙

firewall-cmd --reload

3、查看防火墙列表

firewall-cmd --zone=public --list-ports

5. 创建启动脚本(设置自启动,服务器开启即启动)

 将tomcat目录下bin中的catalina.sh拷贝到/etc/init.d目录下

[root@localhost bin]# cp /usr/local/java/apache-tomcat-8.5.20/bin/catalina.sh /etc/init.d
重命名为tomcat 

[root@localhost bin]# cd /etc/init.d/
[root@localhost init.d]# mv catalina.sh tomcat

编辑tomcat

进入编辑界面,加入以下内容,注意根据自己的环境配置

JAVA_HOME=/usr/local/java/jdk1.8.0_151
CATALINA_HOME=/usr/local/java/apache-tomcat-8.5.20

加入以下注释,:wq保存

#chkconfig: 23456 10 90
#description: tomcat service

执行以下命令添加服务

[root@localhost init.d]# chkconfig --add tomcat

三.MySQL安装

1. 卸载mariadb,否则安装MySQL会出现冲突(先查看后删除再查看)

[root@localhost ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
[root@localhost ~]# rpm -qa|grep mariadb

2. 上传MySQL安装包

跟jdk一样,将安装包拖入到opt目录下

 3. 解压MySQL安装包 mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar

创建一个文件夹

[root@localhost ~]# cd /usr/local/java/
[root@localhost java]# mkdir mysql-5.7

进入opt目录下进行解压

[root@localhost java]# cd /opt
[root@localhost opt]# tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar -C /usr/local/java/mysql-5.7/

4. 以下内容逐条进行安装,-ivh 其中i表示安装,v表示显示安装过程,h表示显示进度 

 rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm

5. 启动MySQL服务及开机启动设置 

[root@localhost mysql-5.7]# systemctl start mysqld
[root@localhost mysql-5.7]# systemctl enable mysqld.service

 6. 登录MySQL修改密码

 [root@localhost mysql-5.7]# grep "password" /var/log/mysqld.log
2024-02-24T09:47:07.400066Z 1 [Note] A temporary password is generated for root@localhost: ro.*hxccr9oL
[root@localhost mysql-5.7]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.

#设置密码校验策略(0 or LOW),要不密码太LOW不让你过
set global validate_password_policy=0;
#设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)
set global validate_password_length=4;
#更新密码
set password = password("123456");

#数据库没有授权,允许以root身份远程登录mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
#输入后使修改生效还需要下面的语句
FLUSH PRIVILEGES; 

#可以退出,试试用新密码重新登录
exit

 7. 防火墙设置

#开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#刷新防火墙规则
firewall-cmd --reload
#查看防火墙列表
firewall-cmd --zone=public --list-ports 

四.nginx安装

先将Nginx的安装包放置到Linux中

1)下载并解压安装包
下载命令:wget http://nginx.org/download/nginx-1.13.7.tar.gz   
解压命令:tar -xvf nginx-1.13.7.tar.gz  

解压后:

2)一键安装4个依赖

命令执行:yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

3)安装nginx
# 先进入安装包目录
命令:cd nginx-1.13.7  (安装包名根据自己的来哦)

# 编译,执行配置: 考虑到后续安装ssl证书 添加两个模块
命令:   ./configure --with-http_stub_status_module --with-http_ssl_module

4) 安装
命令:make && make install

5)启动 nginx 服务
安装好的 nginx 服务在 /usr/local/nginx/sbin 下

cd /usr/local/nginx/sbin
# 启动
命令:  ./nginx

虽然已经启动了,但我们也不知道到底启动成功没有是吧。

6)#下载插件
yum install lsof

7) 查看Nignx是否启动
lsof -i:80

 

8) 设置防火墙开放 80 端口
 firewall-cmd --zone=public --add-port=80/tcp --permanent

9) 跟新防火墙规则
firewall-cmd --reload

10) 查看开放端口号
 firewall-cmd --reload && firewall-cmd --list-port

借鉴命令 可不操作

# 重启
./nginx -s reload
 
# 关闭
./nginx -s stop
 
# 或者,指定配置文件启动
./nginx -c /usr/local/nginx/conf/nginx.conf

设置自启动Nginx

先编辑etc下的rc.d/rc.local文件,点击i键处于编辑状态

1   vi /etc/rc.d/rc.local

再将nginx的启动命令位置复制上去,点击ESC,输入:wq保存并推出

2   /usr/local/nginx/sbin/nginx

3 修改完成之后,返回它的上一层目录rc.d   命令:../


4 进行给rc.local文件赋予权限: chmod 755 rc.local

五.Nginx负载均衡tomcat

 1. 准备2个tomcat

cp -r apache-tomcat-8.5.20/ apache-tomcat-8.5.20-8081/

2. 修改第二个tomcat的配置

进入到conf目录下

cd apache-tomcat-8.5.20-8081/conf/

编辑server.xml文件:

vim server.xml

HTTP端口,默认8080,改为8081

 

远程停服务端口,默认8005,改为8006

AJP端口,默认8009,改为8010

3. 防火墙规则

#开放8081端口

firewall-cmd --zone=public --add-port=8081/tcp --permanent

#刷新防火墙规则

firewall-cmd --reload

#查看防火墙列表

firewall-cmd --zone=public --list-ports 

4. 配置nginx负载均衡

在/usr/local/nginx/conf目录下的nginx.conf中添加

upstream  tomcat_list {  #服务器集群名字
    server    127.0.0.1:8080  weight=1;   #服务器1   weight是权重的意思,权重越大,分配的概率越大。
    server    127.0.0.1:8081  weight=1; #服务器2   weight是权重的意思,权重越大,分配的概率越大

 更改完后,点击保存即可

5. 进入/usr/local/nginx/sbin目录下

#重启nginx服务

./nginx -s reload

这时nginx就负载到两个tomcat上了

6. 创建数据库,将脚本导入

注意数据库名称要一致

7. 将项目后端的war包放入到/usr/local/java/apache-tomcat-8.5.20/webapps下

注意两个tomcat都要放war包

8. 再重启tomcat服务,就可以访问到后端数据了

后端就部署完成了

六.前端部署

1.  一般情况开发都会提供一个前端的压缩包,在/usr/local目录下创建一个文件夹,存放压缩包

[root@localhost bin]# cd /usr/local/
[root@localhost local]# mkdir mypro
[root@localhost local]# cd mypro/

 2. 下载unzip命令,并解压前端压缩包

[root@localhost mypro]# yum install -y unzip
...
[root@localhost mypro]# unzip blog.zip

3. 将解压后的路径配置到/usr/local/nginx/conf目录下的nginx.conf中

在C:\Windows\System32\drivers\etc\hosts中增加映射关系
IP地址加www.zking.com  

 

                好啦今天就到这里了哦!!!希望能帮到你哦!!! 

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

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

相关文章

Qt程序设计-钟表自定义控件实例

本文讲解Qt钟表自定义控件实例。 效果如下: 创建钟表类 #ifndef TIMEPIECE_H #define TIMEPIECE_H#include <QWidget> #include <QPropertyAnimation> #include <QDebug> #include <QPainter> #include <QtMath>#include <QTimer>#incl…

2024.2.21 模拟实现 RabbitMQ —— 实现转发规则

目录 需求分析 直接交换机&#xff08;Direct &#xff09; 主题交换机&#xff08;Topic &#xff09; 扇出交换机&#xff08;Fanout &#xff09; Topic 交换机转发规则 routingKey 组成 bindingKey 组成 匹配规则 情况一 情况二 情况三 实现 Router 类 校验 b…

POI WorkbookFactory.create(inputStream) IndexOutOfBoundsException

近期&#xff0c;运行稳定的excel导入功能突然异常&#xff0c;查看了日志&#xff0c;发现以下图示异常&#xff1a; 追踪代码发现是以下代码引起问题&#xff1a; 发现&#xff0c;WorkbookFactory.create(inputStream) 创建workbook对象时读取文件内容下标越界了 分析是因…

nginx(二)

nginx的验证模块 输入用户名和密码 第一步先下载httpd 这个安装包 第二步编辑子配置文件 然后去网页访问192.168.68.3/admin/ 连接之后&#xff0c;会出现404&#xff0c;404出现是因为没给网页写页面 如果要写页面&#xff0c;则在/opt/html&#xff0c;建立一个admin&#x…

ASCII编码的影响与作用:数字化时代的不可或缺之物

title: ASCII编码的影响与作用&#xff1a;数字化时代的不可或缺之物 date: 2024/2/25 16:03:37 updated: 2024/2/25 16:03:37 tags: ASCII起源标准化字符文本处理基础编程语言基石数据库存储标准跨平台兼容多语言编码基础 一、ASCII编码的起源 ASCII&#xff08;American St…

Java 中常用的数据结构类 API

目录 常用数据结构API 对应的线程安全的api 高可用衡量标准 常用数据结构API ArrayList: 实现了动态数组&#xff0c;允许快速随机访问元素。 import java.util.ArrayList; LinkedList: 实现了双向链表&#xff0c;适用于频繁插入和删除操作。 import java.util.LinkedLis…

Java设计模式 | 七大原则之接口隔离原则

接口隔离原则&#xff08;Interface Segregation Principle&#xff09; 基本介绍 客户端不应该依赖他不需要的接口&#xff0c;即一个类对另一个类的依赖应建立在最小的接口上如下图 A类通过接口Interface1依赖B类&#xff0c;C类通过接口Interface1依赖D类。如果Interface…

免费分享一套SpringBoot+Vue实验室(预约)管理系统,帅呆了~~

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringBootVue实验室(预约)管理系统 &#xff0c;分享下哈。 项目视频演示 【免费】SpringBootVue实验室(预约)管理系统 Java毕业设计_哔哩哔哩_bilibili【免费】SpringBootVue实验室(预约)管理系统 Java毕…

Spring事务模板及afterCommit存在的坑

大家好&#xff0c;我是墨哥&#xff08;隐墨星辰&#xff09;。今天的内容来源于两个线上问题&#xff0c;主要和大家聊聊为什么支付系统中基本只使用事务模板方法&#xff0c;而不使用声明式事务Transaction注解&#xff0c;以及使用afterCommit()出现连接未按预期释放导致的…

云尚办公-0.3.0

5. controller层 import pers.beiluo.yunshangoffice.model.system.SysRole; import pers.beiluo.yunshangoffice.service.SysRoleService;import java.util.List;//RestController&#xff1a;1.该类是控制器&#xff1b;2.方法返回值会被写进响应报文的报文体&#xff0c;而…

matlab新能源汽车三自由度操纵稳定性分析及优化

1、内容简介 略 可以交流、咨询、答疑 55-新能源汽车三自由度操纵稳定性分析及优化 2、内容说明 略 摘 要 电动化是节能减排、寻求替代能源的最佳途径&#xff0c;已成为行业共识&#xff0c;论文基于江西科技学院桑塔纳轿车油改气项目&#xff0c;在拆除发动机、变速…

大数据可视化的设计规范,全面剖析,很实用。

大数据可视化的设计规范需要考虑到数据量大、复杂度高、数据类型多样等特点。以下是一份常见的大数据可视化设计规范&#xff0c;供您参考&#xff1a; 设计原则 简单易用&#xff1a;保证用户操作简单、直观&#xff0c;降低用户认知负担。数据准确&#xff1a;保证数据准确…