开发者交流平台项目部署到阿里云服务器教程
本文使用PuTTY软件在本地Windows系统远程控制Linux服务器;其中,Windows系统为Windows 10专业版,Linux系统为CentOS 7.6 64位。
1.工具软件的准备
maven:https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
tomcat:https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.22/bin/apache-tomcat-9.0.22.tar.gz
elasticsearch:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.tar.gz
elasticsearch-analysis:https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-6.4.3.zip
kafka:https://archive.apache.org/dist/kafka/2.3.0/kafka_2.12-2.3.0.tgz
mysql80:http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
以上工具软件可直接在linux服务器上使用命令下载:
wget+以上链接
也可以在本地windows系统下载好之后通过windows命令行传文件到linux服务器:
Win+R→cmd→转到文件所在的盘符,比如:D:
然后再cd到文件所在目录;
在所需要上传的文件所在目录使用命令:
pscp [文件名] linux用户名@服务器公网IP地址:在Linux系统保存的地址
比如:
pscp community-init-sql-1.5.zip root@x.x.x.x:/root
2. 安装unzip
cd /yum list unzip*yum install -y unzip.x86_64
3.下载JDK1.8
yum list java*yum install -y java-1.8.0-openjdk.x86_64java -version
4.安装Maven
tar -xzvf apache-maven-3.6.1-bin.tar.gz -C /optcd /opt/apache-maven-3.6.1/binvim /etc/profile
输入i进入INSERT模式之后在
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
的后一行增加
export PATH=$PATH:/opt/apache-maven-3.6.1
(可直接按右键粘贴)之后,按【Esc】→【:wq】保存退出。
接下来启用和查看maven版本:
source /etc/profile
mvn -version
5.Maven配置阿里云镜像
cd confvim settings.xml
输入i进入INSERT模式之后在之间增加以下代码
<mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>https://maven.aliyun.com/repository/central</url>
</mirror>
(可直接按右键粘贴)之后,按Esc】→【:wq】保存退出。
6.安装 MySQL
cd /root
yum install -y mysql80-community-release-el7-3.noarch.rpm
cd /
yum list mysql*
yum install -y mysql-community-server.x86_64
如果出现GPG Keys相关问题,执行以下命令:
yum -y install mysql-community-server --nogpgcheck
接下来再启动MySQL:
systemctl start mysqld
查看MySQL的状态:
systemctl status mysqld
查看MySQL的密码,用于下一步修改密码前的登录操作:
grep 'password' /var/log/mysqld.log
修改MySQL的密码:
mysql -u root -p
alter user root@localhost identified by 'XXXXXX';exit
注意:
"XXXXXX"为密码,按需修改。
重新登录:
mysql -u root -p
exit
给MySQL导入数据:
cd /root
unzip -d /root/community-init-sql-1.5 community-init-sql-1.5.zipmysql -u root -p
create database community;
use community;
source /root/community-init-sql-1.5/init_schema.sql;
source /root/community-init-sql-1.5/init_data.sql;
source /root/community-init-sql-1.5/tables_mysql_innodb.sql;
show tables;
注意:
其中,”community-init-sql-1.5“按需修改。
修改header_url路径中含localhost的图片:
select id,username,header_url from user;
update user set header_url = 'http://images.nowcoder.com/head/180t.png' where header_url like '%localhost%';exit
注意:其中,”180t“按需修改。
7.安装Redis
cd /
yum list redis*
yum install -y redis.x86_64
redis: systemctl start redis
systemctl status redisexit
8.安装Kafka
cd /roottar -xzvf kafka_2.12-2.3.0.tgz -C /optcd /opt/kafka_2.12-2.3.0bin/zookeeper-server-start.sh -daemon config/zookeeper.propertiesnohup bin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 &
测试是否成功启动Kafka:
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
9.安装ElasticSearch
cd /root
tar -xzvf elasticsearch-6.4.3.tar.gz -C /opt
unzip -d /opt/elasticsearch-6.4.3/plugins/ik elasticsearch-analysis-ik-6.4.3.zipcd /opt/elasticsearch-6.4.3/config
vim elasticsearch.yml
输入i进入INSERT模式之后:
设置集群名字:
cluster.name: nowcoder
设置路径:
path.data: /tmp/elastic/datapath.logs: /tmp/elastic/logs
然后,按【Esc】→【:wq】保存退出。
修改jvm设置:
vim jvm.options
输入i进入INSERT模式之后:
设置:
-Xms256m
-Xmx512m
然后,按【Esc】→【:wq】保存退出。
启动Elasticsearch:
groupadd nowcoder
useradd nowcoder1 -p xxxxxx -g nowcoder
cd /opt
chown -R nowcoder1:nowcoder *
cd /tmp
chown -R nowcoder1:nowcoder *
su - nowcoder1cd /opt/elasticsearch-6.4.3/bin/elasticsearch -d
注意:"xxxxxx"为密码,按需修改。
切换为root用户,测试是否启动成功:
su -curl -X GET "localhost:9200/_cat/health?v"
10.安装Wkhtmltopdf
cd /
yum list wkhtmltopdf*
yum install -y wkhtmltopdf.x86_64
安装虚拟gui程序,并使用命令行测试:
yum list *xvfb*
yum install -y xorg-x11-server-Xvfb.x86_64cd /root
mkdir test
cd test
xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltoimage https://www.baidu.com 1.png
使用脚本测试:
cd /opt
vim wkhtmltoimage.sh
输入i进入INSERT模式之后:
添加以下代码:
xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltoimage "$@"
然后,按【Esc】→【:wq】保存退出。
chmod +x wkhtmltoimage.sh
cd /root/test
/opt/wkhtmltoimage.sh https://www.baidu.com 2.png
11.安装Tomcat
cd /root
tar -xzvf apache-tomcat-9.0.22.tar.gz -C /opt
cd /opt/apache-tomcat-9.0.22/binvim /etc/profile
输入i进入INSERT模式之后,在步骤4中Maven的path后面追加:
export PATH=$PATH:/opt/apache-tomcat-9.0.22/bin
然后,按【Esc】→【:wq】保存退出。
source /etc/profile
启动Tomcat:
startup.sh
12.安装Nginx
cd /
yum list nginx*
yum install -y nginx.x86_64vim /etc/nginx/nginx.conf
输入i进入INSERT模式之后,将以下代码块使用"#"注释掉:
server {listen 80;listen [::]:80;server_name _;root /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location = /404.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}
然后,添加以下代码块:
upstream myserver {server 127.0.0.1:8080 max_fails=3 fail_timeout=30s;
}server {listen 80;server_name XXX.XXX.XXX.XXX;location / {proxy_pass http://myserver;}
}
然后,按【Esc】→【:wq】保存退出。
注意:
"XXX.XXX.XXX.XXX"按需修改为服务器的公网IP地址。
启动Nginx:
systemctl start nginx
关闭Tomcat,将Tomcat目录下的webapps文件夹下的内容删除:
shutdown.shcd /opt/apache-tomcat-9.0.22/webappsrm -rf *
13.项目部署
在Windows系统中将项目的pom.xml,application.properties,global.js,HomeController.java相关文件进行修改之后,将target文件夹进行删除,之后将项目工程文件进行压缩,通过Windows命令行窗口上传到linux服务器:
pscp community.zip root@x.x.x.x:/root
解压:
cd /root
unzip -d /root/community community.zip
打包:
cd community
mvn package -Dmaven.test.skip=true
注意:
第一次:
mvn clean package -Dmaven.test.skip=true
第二次可以这样写:
mvn package -Dmaven.test.skip=true
如果出现如下报错:
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
输入命令:
yum install java-devel
重新打包:
mvn package -Dmaven.test.skip=true
复制ROOT.war到Tomcat中,再启动Tomcat:
cd target/
mv ROOT.war /opt/apache-tomcat-9.0.22/webapps/startup.sh
注意事项:
服务器重启之后,需要重新开启MySQL,Kafka,Redis,Elasticsearch,Nginx,再重新打包ROOT.war到Tomcat中,最后再启动Tomcat。
相关文章:

开发者交流平台项目部署到阿里云服务器教程
本文使用PuTTY软件在本地Windows系统远程控制Linux服务器;其中,Windows系统为Windows 10专业版,Linux系统为CentOS 7.6 64位。 1.工具软件的准备 maven:https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-m…...

【2024年华为OD机试】 (B卷,100分)- 乘坐保密电梯(JavaScriptJava PythonC/C++)
一、问题描述 问题描述 我们需要从0楼到达指定楼层m,乘坐电梯的规则如下: 给定一个数字序列,每次根据序列中的数字n,上升n层或下降n层。前后两次的方向必须相反,且首次方向向上。必须使用序列中的所有数字,不能只使用一部分。目标是到达指定楼层m,如果无法到达,则给出…...

maven的打包插件如何使用
默认的情况下,当直接执行maven项目的编译命令时,对于结果来说是不打第三方包的,只有一个单独的代码jar,想要打一个包含其他资源的完整包就需要用到maven编译插件,使用时分以下几种情况 第一种:当只是想单纯…...

solidity高阶 -- 线性继承
Solidity是一种面向合约的高级编程语言,用于编写智能合约。在Solidity中,多线继承是一个强大的特性,允许合约从多个父合约继承属性和方法。本文将详细介绍Solidity中的多线继承,并通过不同的实例展示其使用方法和注意事项。 在Sol…...

国内外大语言模型领域发展现状与预期
在数字化浪潮中,大语言模型已成为人工智能领域的关键力量,深刻影响着各个行业的发展轨迹。下面我们将深入探讨国内外大语言模型领域的发展现状以及未来预期。 一、发展现状 (一)国外进展 美国的引领地位:OpenAI 的 …...

【Leetcode 热题 100】416. 分割等和子集
问题背景 给你一个 只包含正整数 的 非空 数组 n u m s nums nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 数据约束 1 ≤ n u m s . l e n g t h ≤ 200 1 \le nums.length \le 200 1≤nums.length≤200 1 ≤ n u m s [ i ] ≤ …...

C语言------数组从入门到精通
1.一维数组 目标:通过思维导图了解学习一维数组的核心知识点: 1.1定义 使用 类型名 数组名[数组长度]; 定义数组。 // 示例: int arr[5]; 1.2一维数组初始化 数组的初始化可以分为静态初始化和动态初始化两种方式。 它们的主要区别在于初始化的时机和内存分配的方…...

物管系统赋能智慧物业管理提升服务质量与工作效率的新风潮
内容概要 在当今的物业管理领域,物管系统的崛起为智慧物业管理带来了新的机遇和挑战。这些先进的系统能够有效整合各类信息,促进数字化管理,从而提升服务质量和工作效率。通过物管系统,物业管理者可以实时查看和分析各种数据&…...

2024年记 | 凛冬将至
放弃幻想,准备斗争! 考研or就业? 上大学以来,考研上名校在我的心里一直是一颗种子,2024年初,当时的想法是考研和就业两手抓。买了张宇的高数现代,想要死磕! 也记了挺多笔记... 如果…...

MySQL数据导入与导出
在现代软件开发中,数据管理是一个重要的核心环节,而数据库则是进行数据管理的主要工具。MySQL 作为一款开源的关系型数据库管理系统,被广泛应用于企业和个人开发项目中。对于学习编程的初学者或是自学者来说,掌握 MySQL 的基本操作尤为重要,尤其是数据的导入与导出功能。这…...

NoSQL与SQL比较
1.认识NoSQL NoSql可以翻译做Not Only Sql(不仅仅是SQL),或者是No Sql(非Sql的)数据库。是相对于传统关系型数据库而言,有很大差异的一种特殊的数据库,因此也称之为非关系型数据库。 1.1.结构…...

Ceph:关于Ceph 中使用 RADOS 块设备提供块存储的一些笔记整理(12)
写在前面 准备考试,整理 ceph 相关笔记博文内容涉及使用 RADOS 块设备提供块存储理解不足小伙伴帮忙指正对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波…...

Android SystemUI——最近任务列表启动(十八)
前面分析了初始化涉及到的关键类,系统启动后会启动 SystemUI 进程,然后进行一系列初始化,接下来看一下进入 Recents 的流程。我们主要分析最近任务应用列表的启动与显示。 一、最近任务启动 关于手势或 Key 按键触发这一块逻辑处理入口都是在 PhoneWindowManager,咱们从 R…...

数据结构课程设计(三)构建决策树
3 决策树 3.1 需求规格说明 【问题描述】 ID3算法是一种贪心算法,用来构造决策树。ID3算法起源于概念学习系统(CLS),以信息熵的下降速度为选取测试属性的标准,即在每个节点选取还尚未被用来划分的具有最高信息增益的…...

从ChatGPT热潮看智算崛起
2025年1月7日,科智咨询发布《2025年IDC产业七大发展趋势》,其中提到“ChatGPT开启生成式AI热潮,智能算力需求暴涨,算力供给结构发生转变”。 【图片来源于网络,侵删】 为何会以ChatGPT发布为节点呢?咱们一起…...

基于PyQt设计的智能停车管理系统
文章目录 一、前言1.1 项目介绍【1】项目开发背景【2】设计实现的功能【3】设计意义【4】国内外研究现状【6】摘要1.2 设计思路1.3 系统功能总结1.4 开发工具的选择【1】VSCODE【2】python【3】ptqt【4】HyperLPR31.5 参考文献二、安装Python环境1.1 环境介绍**1.2 Python版本介…...

http的请求体各项解析
一、前言 做Java开发的人员都知道,其实我们很多时候不单单在写Java程序。做的各种各样的系统,不管是PC的 还是移动端的,还是为别的系统提供接口。其实都离不开http协议或者https 这些东西。Java作为编程语言,再做业务开发时&#…...

【linux】Linux 常见目录特性、权限和功能
目录特性默认权限主要功能/用途/根目录,所有目录的起点755文件系统的顶层目录,包含所有其他子目录和文件/bin基础二进制命令目录(系统启动和修复必需的命令)755存放所有用户可用的基本命令(如 ls, cp, bash 等…...

创作三载·福启新章2025
写在前面:本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除! 文章目录 前言机缘收获日常憧憬 总结 前言 在2022年01月26日,我踏上了技术创作的征…...

RoboMaster- RDK X5能量机关实现案例(一)识别
作者:SkyXZ CSDN:https://blog.csdn.net/xiongqi123123 博客园:https://www.cnblogs.com/SkyXZ 在RoboMaster的25赛季,我主要负责了能量机关的视觉方案开发,目前整体算法已经搭建完成,实际方案上我使用的上…...

Python帝王學集成-母稿
引用:【【全748集】这绝对是2024最全最细的Python全套教学视频,七天看完编程技术猛涨!别再走弯路了,从零基础小白到Python全栈这一套就够了!-哔哩哔哩】 https://b23.tv/lHPI3XV 语法基础 Python解释器与pycharm编辑器安装 - 定义:Python解释器负责将Python代码转换为计…...

安全漏洞扫描与修复系统的高质量技术详解
安全漏洞扫描与修复系统的高质量技术详解 在当今的数字化时代,网络安全已成为企业和个人不可忽视的重要议题。安全漏洞扫描与修复系统作为保障网络安全的关键环节,其重要性日益凸显。本文将深入探讨安全漏洞扫描与修复系统的原理、流程、工具选择以及实…...

JavaScript反爬技术解析与应对
JavaScript 反爬技术解析与应对 前言 在当今 Web 爬虫与数据抓取的生态环境中,网站运营方日益关注数据安全与隐私保护,因此逐步采用多种反爬技术来限制非授权访问。本文从 JavaScript 角度出发,深入剖析主流反爬策略的技术原理,…...

[NOIP2007]矩阵取数游戏
点我写题 题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数。游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个。m次后取完矩阵所有元素; 2.每次取走的…...

在Linux系统上安装.NET
测试系统:openKylin(开放麒麟) 1.确定系统和架构信息: 打开终端(Ctrl Alt T),输入cat /etc/os-release查看系统版本相关信息。 输入uname -m查看系统架构。确保你的系统和架构符合.NET 的要求,如果架构…...

PCB Editor层叠文件(Gerber文件输出-01)
先看底层和表层,如下图 钢网表层和底层,如下图 丝印表层和底层,如下图 阻焊表层和底层,如下图 下面来添加钻孔层,先提取钻孔表 点击OK后钻孔表会挂在鼠标上...

labelimg闪退的解决办法
其实就是你的python版本太高不稳定不支持labelimg 标记时出现闪退 问题原因:python版本过高 解决方案 第一步: 在python3.9以上的版本运行软件会闪退,这个时候我们需要创建一个3.9或者及以下的虚拟环境 conda cr…...

【开源免费】基于Vue和SpringBoot的在线文档管理系统(附论文)
本文项目编号 T 038 ,文末自助获取源码 \color{red}{T038,文末自助获取源码} T038,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…...

数据库管理-第287期 Oracle DB 23.7新特性一览(20250124)
数据库管理287期 20245-01-24 数据库管理-第287期 Oracle DB 23.7新特性一览(20250124)1 AI向量搜索:算术和聚合运算2 更改Compatible至23.6.0,以使用23.6或更高版本中的新AI向量搜索功能3 Cloud Developer包4 DBMS_DEVELOPER.GET…...

Golang :用Redis构建高效灵活的应用程序
在当前的应用程序开发中,高效的数据存储和检索的必要性已经变得至关重要。Redis是一个快速的、开源的、内存中的数据结构存储,为各种应用场景提供了可靠的解决方案。在这个完整的指南中,我们将学习什么是Redis,通过Docker Compose…...