小型网站项目完整部署流程(Linux操作系统——CentOS7.5)

news/2024/5/21 0:35:33/文章来源:https://zbk-pointer.blog.csdn.net/article/details/109584320

前言

网络服务器以Linux操作系统的居多,因其天然的底层框架优势。笔者因为项目需求要在Linux操作系统服务上部署Java web项目,手头上没有该操作系统的服务器,因此使用虚拟机技术虚拟出一台CentOS7.5的虚拟服务器,并以此为基础进行项目部署。笔者在学生阶段主要使用的是Windows系统,对Linux操作系统停留在认知的阶段,基本的命令会一点,就这样一步一步的走了出来,完成了Java web项目的成功部署。途中踩到的坑很多,记录下来,与各位分享。

背景

连接虚拟机会话如图所示。虚拟机的安装和连接在这里不再赘述。请参见这篇博客。
在这里插入图片描述

多个依赖的中间件

  • JDK1.8 (运行平台), 版本详情为:
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
  • MySQL5.7(持久存储),版本详情为:
mysql  Ver 14.14 Distrib 5.7.21, for linux-glibc2.12 (x86_64) using  EditLine wrapper
  • Tomcat8.5 (网站服务器容器),版本详情为:
Apache Tomcat/8.5.58
  • Redis 采用最新版本即可(中间缓存),版本详情为:
Redis server v=6.0.9 sha=00000000:0 malloc=libc bits=64 build=9c395f6f2c1461e4

查询命令为:

redis-server --version

环境

将所需的中间件软件压缩包通过命令rz上传至虚拟机中(本次测试文件路径为/usr/local/src)。因为MySQL太大了,占用内存,被我删除了。因为只有其余三个依赖包,如图所示。
在这里插入图片描述

  1. Java环境安装及配置

首先检测一下系统安装了JDK吗?CentOS7.5系统自带OpenJDK,将其删除。
详情参照在CentOS7.4中安装jdk的几种方法及配置环境变量。

解压 -> 移动到指定文件夹下

tar xzvf jdk-8u151-linux-x64.tar.gz
mv jdk1.8.0_151 /usr/local/java

配置环境变量(老套路了), 通过vim /etc/profile 打开文件,追加下列变量声明

JAVA_HOME=/usr/local/java
JRE_HOME=/usr/local/java/jre
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME CLASSPATH

添加完后通过命令source /etc/profile使其生效


  1. Tomcat安装及配置

解压 -> 移动到指定文件夹下

tar xzvf apache-tomcat-8.5.58.tar.gz
mv apache-tomcat-8.5 /usr/local/tomcat

删除Tomcat中的webapps文件夹下的一系列文件如docsexamplesmanagerROOThost-manager进行容器安全加固

  1. Redis安装及配置

解压 -> 移动 -> 安装gcc依赖 -> 升级gcc -> 编译 ->配置
详情参照在Linux下安装redis详细安装教程图文

在安装需要联网时,配置DNS为114.114.114.114 8.8.8.8
接着对yum国内源进行更改。因为期间遇到需要连接外网的安装步骤,如下载gcc、升级gcc。否则,下载速度很慢或者获取资源超时。

wget -P /etc/yum.repos.d http://mirrors.163.com/.help/CentOS7-Base-163.repo

接着安装Redis

cd /usr/local/src
tar xzvf redis-6.0.9.tar.gz
mv redis-6.0.9 /usr/local/redis#依赖安装
yum install gcc
yum install gcc-c++#升级
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash#编译
make#创建文件夹
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc#复制文件
cp -aRp  redis.conf  /usr/local/redis/etc cp -aRp mkreleasdhdr.sh redis-benchmark redis-check-aof  redis-cli redis-server /usr/local/redis/bin

配置Redis

通过命令打开文件vim /usr/local/redis/etc/redis.conf

daemonize yes  #(找到这一项,修改为yes)
bind 192.168.225.128 127.0.0.1 #设置本机服务IP,应是内网IP。外网不安全

启动

redis-server /usr/local/redis/etc/redis.conf #用具体的文件路径来启动
  1. Mysql安装及配置

解压 -> 移动 -> 查重 -> 配置

cd /usr/local/src
yum -y install numactl   #解决安装过程中的报错mv mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/mysql#创建文件夹
mkdir /usr/local/mysql/data#创建用户和组
groupadd mysql
useradd -r -g mysql mysql#安装依赖包
yum install libaio #将安装目录所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/mysql#初始化
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize#记住生成的密码bwclBwti,1gh#编辑配置文件(重点对象)
vim /etc/my.cnf[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
pid_file=/usr/local/mysql/mysql.pid
log-error=/usr/local/mysql/data/mysqllog.err
user=mysql
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
port=3306
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8#将mysql加入到服务中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql#开机启动
chkconfig mysql on#启动mysql
service mysql start#配置环境变量
export MYSQL_HOME="/usr/local/mysql"
export PATH="$PATH:$MYSQL_HOME/bin"#使能生效
source /etc/profile

查重命令

rpm -qa | grep mysql

验证

 mysql -u root -p

更改初始化时产生的密码

最后进行数据库创建,导入sql文件

项目部署

特别需要注意的是,要知道如何查看日志文件和关闭防火墙,在关闭防火墙时,也要注意版本的不同导致命令的不同。

通过Maven方式将开发包打包成wwar包进行部署。如图所示,

项目名(右键)-> Run As -> Maven build

在这里插入图片描述
接着进入配置界面;

在这里插入图片描述
在项目目录target文件夹下可以找到打包好的war包;

在这里插入图片描述
看一下war包内容。笔者在打包时候采用Export -> war方式,导致war包目录不通进而导致资源访问不到,需要对资源进行放行。

这个是Maven安装的war包目录。

在这里插入图片描述

这个通过STS3导出功能进行导出的war包目录。资源被放在了WEB_INF文件夹下了。

在这里插入图片描述

最后将war包放到tomcat/webapps下,启动Tomcat完成部署。

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

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

相关文章

如何编程登录有验证码的网站

看到论坛有人在问如何编程登录有验证码的网站题,于是专门研究了一下。文章后有源码下载地址。 注:验证码还是要人来辨认。 有几种处理办法,一是使用WebBrowser控件,一是使用WebClient或者WebRequest控件来处理。 本文中使用 Web…

网站漏洞渗透检测过程与修复方案

2019独角兽企业重金招聘Python工程师标准>>> 什么是网站渗透测试? 该如何做网站安全检测 网站的渗透测试简单来 说就是模拟攻击者的手法以及攻击手段去测试网站的漏洞,对网站进行渗透攻击测试,对网站的代码漏洞进行挖掘&#xff0…

m_Orchestrate learning system---网站的语言选择功能(中文英文)

m_Orchestrate learning system---网站的语言选择功能(中文英文) 一、总结 一句话总结:有两种方法,一是sessionjs端代码,而是sessionphp端代码。 推荐使用sessionphp端代码 用函数最方便,最简便&#xff0c…

如何用色彩制造出具有专业感的网站

如何用色彩制造出具有专业感的网站来源:yeeyan 作者:译:Srandy 发布时间: 2010-03-19 15:34:50是什么使得某个设计看起来协调、井然有序并且具有专业感?答案是:“色彩”。并不是所有的项目都需要用保守的黑…

如何让你的网站地址在发送到QQ朋友的时候显示绿色安全图标呢?...

今天教大家如何申请网址过QQ绿色安全打勾认证!网址获得了QQ安全认证过后就是把网址发给QQ好友或者QQ群的时候,我们的网址前面会有一个绿色的打勾标志! 首先介绍一下加V标示和不加V标示的区别: 加V绿标域名展示:官方认证,可放心访问。这种绿标…

安装好IIS后发布网站

首先,进行网站发布是需要IIS支持的,此处默认已经安装好IIS,并进行了Asp.net注册过程(此步骤必需 ,因为我是先安装的 .net 环境 ,再安装的IIS)。 其次,以下步骤可以方便指导新手如何…

安装好IIS后发布网站

首先,进行网站发布是需要IIS支持的,此处默认已经安装好IIS,并进行了Asp.net注册过程(此步骤必需 ,因为我是先安装的 .net 环境 ,再安装的IIS)。 其次,以下步骤可以方便指导新手如何…

推荐:总能找到一个你觉得最好的免费电子书下载网站

看书是获取知识的最佳途径之一,而读电子书更是我们IT人士的主要方式,在哪里可以获得自己需要的电子书呢?今天给大家推荐一些别人推荐的免费电子书下载网站,我相信其中总有一个是你所需要的,快去看看吧。当然&#xff0…

十周后,62%的PHP网站将运行在一个不受支持的PHP版本上

根据W3Techs的统计数据,目前约有78.9%的网站使用PHP开发。\\但是,PHP 5.6.x的安全支持将在2018年12月31日正式停止,这标志着对古老的PHP 5.x分支版本的支持都将结束。\\也就是说,从明年开始,大约62&#xf…

[站长手记] 教训:title中关键词的位置对于网站排名的至关重要性

教训啊教训,本人的网站 www.tianqizx.cn 今天访问量创造了新低。 昨天还有500多个IP,今天就只有100多个了。 原因是来自百度的访问大幅减少,只有以前的10%了。 问题还是出在网站在标题 title上。 比如说,佛山南海天气 这个关键词&…

在线matlab网站

网址: http://octave-online.net/ 使用: 转载于:https://www.cnblogs.com/moonlightml/p/10238966.html

使用Mason为网站添加免费Captcha验证码

介绍: CAPTCHA 是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,已由卡内基梅隆大学注册商标。是一种区分用户是计算机和人的公共全自动程序。在一…

使用Mason为网站添加免费Captcha验证码

介绍: CAPTCHA 是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,已由卡内基梅隆大学注册商标。是一种区分用户是计算机和人的公共全自动程序。在一…

大型网站技术架构(1)

网站都是从小网站一步一步发展为大型网站的,而这之中的挑战主要来自于庞大的用户、安全环境恶劣、高并发的访问和海量的数据,任何简单的业务处理,一旦需要处理数以 P 计的数据和面对数以亿计的用户时,问题就会变的很棘手 下面我们…

网站被百度停止推广并提示网站存在安全风险,不宜推广的处理方案

2019独角兽企业重金招聘Python工程师标准>>> 春节刚过完,上班的第一天,公司网站被百度停止推广了,百度推广提示:您的url被百度杀毒提示存在网址安全风险,故物料不宜推广;若有异议,请…

网站安全演讲稿

主要包括HTML字符破坏、外部提交、SQL注入、XSS跨站攻击等几个方面。

网站安全演讲稿

主要包括HTML字符破坏、外部提交、SQL注入、XSS跨站攻击等几个方面。

网站前端_EasyUI.基础入门.0001.jQuery EasyUI简单介绍与快速使用?

简单介绍:说明: EasyUI是一种基于jQuery且完全支持HTML5的用户界面插件集合,大大节省您网页开发的时间和规模,只需通过编写一些简单HTML标记,就可以定义用户界面,使用简单但功能强大下载: http://www.jeasyui.com/download/index.php界面组件:模版代码:<!DOCTYPE html> &…

要学会冷静面对网站被黑

在这个水深火热的互联网战场上&#xff0c;很多站长都遇到同行业的恶意攻击&#xff0c;黑客入侵等等安全性受到威胁的问题吧。小编当然也不例外&#xff0c;做优化两年多&#xff0c;间间断断的也与黑客斗争了两年多&#xff0c;从最初的手无足策到现在的淡然处之&#xff0c;…

这些资源网站为什么能获得5万知乎大佬推荐,而我错失了什么吗?

现在很多朋友可能只要是一听到资源网站&#xff0c;想必就会好奇是什么网站&#xff0c;用用看是不是由说的那么厉害&#xff01;其实资源网站给我们的诱惑是在是太大了&#xff0c;其主要原因是可以帮助我们搜索到很多意想不到的资源&#xff01; 为了回应大家的需求&#xff…