阿里云服务器(centos7.6)部署前后端分离项目

Mysql8安装部署

确定一下系统的glibc版本,可以使用以下命令进行查看,当前系统glibc版本:2.17(重要!!!)
要根据自己服务器的版本去选择对应的mysql,不然后续安装会报错!!!

rpm -qa | grep glibc

在这里插入图片描述

官方下载地址:官网:https://www.mysql.com/
选择自己对应的glibc版本
在这里插入图片描述
在这里插入图片描述
创建压缩包存放目录

mkdir /compile/package/mysql/mysql8.4.0

创建安装目录

mkdir /compile/install/mysql

先将已经下载好的压缩包上传到虚拟机的存放目录里面,然后将压缩包解压到安装目录里面
(这里我通过xftp将压缩包上传到虚拟机)
在这里插入图片描述

将加压出来的文件夹里面的文件全部移动到 /compile/install/mysql/mysql8.4.0 里面,也可以理解为把文件名改为mysql8.4.0

cd /compile/install/mysql
mv mysql-8.4.0-linux-glibc2.17-x86_64 mysql8.4.0

在mysql目录下创建data文件夹

cd /compile/install/mysql/mysql8.4.0/
mkdir data

mysql安装目录赋予权限

chmod -R 777 /compile/install/mysql/mysql8.4.0/
# 创建组
groupadd mysql
# 创建用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
useradd -r -g mysql -s /bin/false mysql
# 将用户添加到组中
chown -R mysql:mysql ./

将mysql文件夹的所有者和所有组都改为mysql

chown -R mysql.mysql /compile/install/mysql/mysql8.4.0/

进入bin目录执行mysqld文件进行初始化

cd /compile/install/mysql/mysql8.4.0/bin/
./mysqld --user=mysql --basedir=/compile/install/mysql/mysql8.4.0/ --datadir=/compile/install/mysql/mysql8.4.0/data --initialize

初始化之后会生成一个密码要记住

vim /etc/my.cnf
[mysqld]
port=3306
basedir=/compile/install/mysql/mysql8.4.0
datadir=/compile/install/mysql/mysql8.4.0/data
character-set-server=utf8
default-storage-engine=INNODB[mysql]
default-character-set=utf8[client]
port=3306
default-character-set=utf8

如果启动失败,检查一下mysql进程是否已经存在
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。

解决方法:去mysql的二进制日志目录看看,如果存在mysql-binlog.index,就赶快把它删除掉吧

# 进入mysql.server服务目录
cd /compile/install/mysql/mysql8.4.0/support-files/
# 启动服务
./mysql.server start

将mysql添加到系统进程中

cp /compile/install/mysql/mysql8.4.0/support-files/mysql.server /etc/init.d/mysqld

此时我们就可以使用服务进程操作mysql了

设置mysql自启动

chmod +x /etc/init.d/mysqld
systemctl enable mysqld

登录mysql
密码是前面随机生存的密码

# 进入mysql bin目录
cd /compile/install/mysql/mysql8.4.0/bin/
# 进入mysql
./mysql -u root -p

在这里插入图片描述

可以用service mysql status 再次查看mysql启动状态

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxx';

设置允许远程登录

use mysql
update user set user.Host='%'where user.User='root';
flush privileges;
quit

在这里插入图片描述

重启服务器并且测试

systemctl restart mysql
service mysql restart
# 查看mysql是否启动
systemctl status mysql

在这里插入图片描述
在云服务器开放:3306端口
进入阿里云服务器控制台->安全组->管理规则,进行如下操作
在这里插入图片描述
这里我使用DataGrip进行连接测试
在这里插入图片描述

Jdk17安装部署

下载地址:https://www.oracle.com/java/technologies/downloads/
选择自己需要的jdk版本进行下载。
在这里插入图片描述

通过mac终端scp命令上传下载好的jdk17到服务器的/usr/local目录下

scp -r Downloads/jdk-17.0.13_linux-x64_bin.tar.gz 用户名@服务器ip地址:/usr/local

上传成功
在这里插入图片描述

进入到/usr/local目录下,解压jdk到对应目录

tar -zxvf jdk-17.0.13_linux-x64_bin.tar.gz -C /usr/local

移动jdk到java目录下

 mv /usr/local/jdk-17.0.13 /usr/local/java

进入profile文件,对jdk设置全局变量

vi /etc/profile

添加

export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH

在这里插入图片描述
按下 esc 退出insert模式 再输入 :wq

生效配置文件

source /etc/profile

验证:

java -version

在这里插入图片描述

nginx安装:

wget http://nginx.org/download/nginx-1.27.2.tar.gz

安装所需库文件

#安装库文件yum install gcc-c++ -y
yum install -y pcre pcre-devel -y
yum install -y zlib zlib-devel -y
yum install -y openssl openssl-devel -y

创建目录

mkdir /usr/local/nginx

下载nginx1.27

wget http://nginx.org/download/nginx-1.27.2.tar.gz

解压到指定目录

tar -zxvf /tmp/nginx-1.27.2.tar.gz -C /usr/local/nginx

进行编译安装

cd /usr/local/nginx/nginx-1.27.2./configure --with-http_stub_status_module --with-http_ssl_modulemake && make install

创建软连接,让系统识别Nginx命令

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

#检查文件是否正确

nginx -t

启动

nginx    

常用命令

 
ps -ef | grep nginx  # 查看
./nginx -s stop      # 停止
./nginx -s reload    # 重启

ps -ef | grep nginx
在这里插入图片描述

打开阿里云ecs控制台,点击安全组->管理规则->添加
在这里插入图片描述
打开80端口,然后在网页上输入自己服务器的公网ip就可以访问到nginx页面了

先将自己的vue工程进行打包

我是通过mac终端命令scp上传前端项目到服务器 命令如下

scp -r /opt/homebrew/opt/nginx/html/sky 云服务器用户名@ip地址:/usr/local/nginx/html/

在这里插入图片描述

简单修改一下配置文件(vi /usr/local/nginx/conf/nginx.conf)
在这里插入图片描述

配置好后重启nginx

cd /usr/local/nginx/sbin    
./nginx -s reload

遇到问题,服务器重启后,nginx重新启动出现这个问题
nginx -s reload报错[alert] kill(189, 1) failed (3: No such process)

sudo nginx -c /usr/local/nginx/conf/nginx.conf 

重新指定一下nginx的配置文件位置,重载一下,然后再执行

sudo nginx -s reload

在网页上输入自己服务器的公网ip就可以访问到nginx页面了

在这里插入图片描述

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

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

相关文章

Java中TimedCache缓存对象的详细使用

一、TimedCache 是什么? TimedCache是一个泛型类,它的主要作用通常是在一定时间范围内对特定键值对进行缓存,并且能够根据设定的时间策略来自动清理过期的缓存项。 TimedCache是一种带有时间控制功能的缓存数据结构。在 Java 中&#xff0c…

11、数组

1、数组概念 数组就是存储多个相同数据类型的数据。 比如:存储26个字母,存储一个班级的学生成绩。 2、数组使用 数组要遵循先定义再使用 2.1、数组定义的格式 存储数据---空间 ---- 数据类型 多少个 --- 数据个数 >> 数据类型 数…

六、文本搜索工具(grep)和正则表达式

一、grep工具的使用 1、概念 grep: 是 linux 系统中的一个强大的文本搜索工具,可以按照 正则表达式 搜索文本,并把匹配到的行打印出来(匹配到的内容标红)。 2、语法 grep [options]…… pattern [file]…… 工作方式…

【python】爬去二手车数据 未完成

技术方案 python selenium 先下载Microsoft Edge WebDriver Microsoft Edge WebDriver 官网 先看一下自己的edge版本 搜索到版本然后下载自己的版本 安装依赖 pip install seleniumimport time from selenium import webdriverdriver webdriver.Edge(executable_pathr&qu…

玩游戏常常出现vc++runtime library error R6025 这是什么意思,该怎么解决?

当玩游戏时常常出现“vc runtime library error R6025”错误,这通常表明微软C开发运行库组件存在问题。以下是对该错误及其解决方法的详细解释: 错误含义 “vc runtime library error R6025”是一个与Visual C运行时库相关的错误,该错误表明…

【深度学习基础】一篇入门模型评估指标(分类篇)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀深度学习_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. 模…

深度学习基础02_损失函数BP算法(上)

目录 一、损失函数 1、线性回归损失函数 1.MAE损失 2.MSE损失 3.SmoothL1Loss 2、多分类损失函数--CrossEntropyLoss 3、二分类损失函数--BCELoss 4、总结 二、BP算法 1、前向传播 1.输入层(Input Layer)到隐藏层(Hidden Layer) 2.隐藏层(Hidden Layer)到输出层(Ou…

从技术视角看AI在Facebook全球化中的作用

在全球化日益加深的今天,人工智能(AI)作为一种变革性技术,正在深刻影响全球互联网巨头的发展方向。Facebook作为全球最大的社交媒体平台之一,正通过AI技术突破语言、文化和技术的障碍,推动全球化战略的实现…

41 基于单片机的小车行走加温湿度检测系统

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,采样DHT11温湿度传感器检测温湿度,滑动变阻器连接数码转换器模拟电量采集传感器, 电机采样L298N驱动,各项参数通过LCD1602显示&#x…

Python3 爬虫 Scrapy的使用

安装完成Scrapy以后&#xff0c;可以使用Scrapy自带的命令来创建一个工程模板。 一、创建项目 使用Scrapy创建工程的命令为&#xff1a; scrapy startproject <工程名> 例如&#xff0c;创建一个抓取百度的Scrapy项目&#xff0c;可以将命令写为&#xff1a; scrapy s…

【S500无人机】--地面端下载

之前国庆的时候导师批了无人机&#xff0c;我们几个也一起研究了几次&#xff0c;基本把无人机组装方面弄的差不多了&#xff0c;还差个相机搭载&#xff0c;今天我们讲无人机的调试 硬件配置如下 首先是地面端下载&#xff0c;大家可以选择下载&#xff1a; Mission Planne地…

Android -- 简易音乐播放器

Android – 简易音乐播放器 播放器功能&#xff1a;* 1. 播放模式&#xff1a;单曲、列表循环、列表随机&#xff1b;* 2. 后台播放&#xff08;单例模式&#xff09;&#xff1b;* 3. 多位置同步状态回调&#xff1b;处理模块&#xff1a;* 1. 提取文件信息&#xff1a;音频文…

常用端口与Udp协议

目录 1.再谈端口 1.1 五元组 1.2 端口号范围划分 1.3 两个指令 1.3.1 netstat 1.3.2 pidof 2.UDP协议 2.1 协议整体格式 2.2 udp特点 2.3 udo缓冲区 1.再谈端口 1.1 五元组 端口号表示了一个主机上进行通信的不同的应用程序&#xff1b;在Tcp/IP协议中&#xff0c;用…

计算机毕业设计SpringCloud+大模型微服务高考志愿填报推荐系统 高考大数据 SparkML机器学习 深度学习 人工智能 Python爬虫 知识图谱

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

C/C++ 数据结构与算法【线性表】 顺序表+链表详细解析【日常学习,考研必备】带图+详细代码

1&#xff09;线性表的定义 线性表&#xff08;List&#xff09;&#xff1a;零个或多个数据元素的有限序列。 线性表的数据集合为{a1,a2,…,an}&#xff0c;假设每个元素的类型均为DataType。其中&#xff0c;除第一个元素a1外&#xff0c;每一个元素有且只有一个直接前驱元素…

搭建AD域服务器

搭建AD域服务器 使用深信服HCI搭建AD域服务器 1、新建虚拟机 2、填写参数 3、省略安装过程 4、进入服务器管理器 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、 15、 16、 17、 18、 19、 20、 21、 22、 23、

【算法day4】链表:应用拓展与快慢指针

题目引用 两两交换链表节点删除链表的倒数第n个节点链表相交环形链表 1.两两交换链表节点 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&am…

【Gitlab】gitrunner并发配置

并发介绍 涉及到并发控制的一共有4个参数: concurrent , limit ,request_concurrency,parallel 全局的配置: [rootiZ2vc6igbukkxw6rbl64ljZ config]# vi config.toml concurrent 4 #这是一个总的全局控制&#xff0c;它限制了所有pipline&#xff0c;所有runner执行器…

vue 2 父组件根据注册事件,控制相关按钮显隐

目标效果 我不注册事件&#xff0c;那么就不显示相关的按钮 注册了事件&#xff0c;才会显示相关内容 实现思路 组件在 mounted 的时候可以拿到父组件注册监听的方法 拿到这个就可以做事情了 mounted() {console.log(this.$listeners, this.$listeners);this.show.search !…

四:工具、环境准备-compute node

一&#xff1a;工具、环境准备-controller node 二&#xff1a;OpenStack环境准备-controller node 三&#xff1a;安装服务-controller node 四&#xff1a;工具、环境准备-compute node 五&#xff1a;OpenStack环境准备-compute node 六&#xff1a;安装服务-compute node 七…