【Linux】rouyiVue 项目部署全过程(含MySQL,Nginx等中间件部署)

查看nginx 进程命令
ps aux | grep server_name

1. 安装MySQL

1.1 下载压缩包

官网下载
在这里插入图片描述

1.2 解压

上传并解压好放在指定位置
创建soft文件夹

mkdir /soft

上传文件,在该目录下再创建一个mysql文件夹,将安装包解压到新文件夹中

mkdir /soft/mysql-8.3.0
tar -xvf mysql-8.3.0-1.el9.x86_64.rpm-bundle.tar -C mysql-8.3.0

1.3 安装

解压完成后,进入mysql-8.3.0文件夹

cd /soft/mysql-8.3.0

在这里插入图片描述
安装 rpm 包之前需要下载插件,mysql 里面 rpm 的安装依赖于该插件。

yum install openssl-devel # 阿里云不能升级,会出现无法远程登录
yum -y install libaio perl net-tools

安装完插件后,依次执行命令安装 rpm 包

rpm -ivh ****.rpm //每个都要执行,个别报错先无视
  • 启动 MySQL 服务:systemctl start mysqld
  • 重启 MySQL 服务:systemctl restart mysqld
  • 关闭 MySQL 服务:systemctl stop mysqld
    安装 MySQL 会自动生成一个随机密码,可在 /var/log/mysqld.log 这个文件中查找该密码
cat /var/log/mysqld.log

在这里插入图片描述

1.4 连接 MySQL

mysql -u root -p

输入密码后修改密码

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

1.5 设置可远程连接

修改root或者要可以远程连接的账号权限

use mysql
update user set host = '%' where user = 'root';

刷新权限

flush privileges; 

查询确认权限

select host,user from user;

完成退出sql

exit

2. 安装Nginx

2.1 安装必须的插件,之前安装过可跳过或者更新

一次性安装

yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

分次安装

#gcc 可以编译 C,C++,Ada,Object C和Java等语言,编译依赖 gcc 环境
yum install gcc-c++ 
#pcre pcre-devel pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式
yum install -y pcre pcre-devel 
#zlib zlib-devel zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip
yum install -y zlib zlib-devel
#ssl支持
yum install -y openssl
#openssl openssl-devel OpenSSL 是一个强大的安全套接字层密码库,密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用
yum install -y openssl-devel

2.2 推荐直接安装,不通过安装包,有特殊需求可以用.tar.gz安装包

确保系统已经安装了wget,如果没有安装:

yum install wget

下载nginx安装包,可以进官网选择不同的版本官网下载

wgte https://nginx.org/download/nginx-1.27.0.tar.gz

解压

tar xvf nginx-1.27.0.tar.gz
cd nginx-1.27.0

配置(需要https模块再配置,如不需要则跳过)

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

不需要https则运行下列代码

./configure 

编译和安装

make
make install

查看安装路径

whereis nginx

编辑服务文件

vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx service
After=network.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true[Install]
WantedBy=multi-user.target

说明:
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
加入开机自启动

systemctl enable nginx.service

2.3 Nginx基本操作

#启动服务
systemctl start nginx.service  
#停止服务
systemctl stop nginx.service        #重新启动服务
systemctl restart nginx.service      
#查看所有已启动的服务
systemctl list-units --type=service    
#查看服务当前状态
systemctl status nginx.service         #设置开机自启动
systemctl enable nginx.service     # 停止开机自启动
systemctl disable nginx.service     

2.4 nginx.conf https 配置

    server {listen       443 ssl;server_name  localhost;#根证书地址(默认把证书放在conf目录)ssl_certificate      cert.pem;#证书秘钥(默认把证书放在conf目录)ssl_certificate_key  cert.key;ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;location / {root   html;index  index.html index.htm;}}

2.5 将 http 重定向 https

server {listen 80;server_name localhost;#将请求转成httpsrewrite ^(.*) https://$server_name$1 permanent;
}

3. 安装nodejs

3.1 下载

第一种为官网下载,官网
第二种为wget下载(本文使用的方法)
创建nodejs文件夹

mkdir /soft/nodejs

下载

wget https://nodejs.org/dist/v16.18.0/node-v16.18.0-linux-x64.tar.gz

解压

tar zxvf node-v16.18.0-linux-x64.tar.gz

复制到对应文件夹

mv /soft/nodejs/node-v16.18.0-linux-x64/* /soft/nodejs/

3.2 建立软链接

ln -s /soft/nodejs/bin/node /usr/local/bin
ln -s /soft/nodejs/bin/npm /usr/local/bin

3.3 测试

node -v & npm -v

3.4 安装nrm

nrm(npm registry manager) 是 npm 的镜像源管理工具. 有时候国外资源太慢,使用 nrm 可以快速的在 npm 源之间切换。

npm install -g nrm

配置成全局

ln -s /soft/nodejs/bin/nrm /usr/local/bin

查看镜像源

nrm ls

测试镜像速度

nrm test

切换镜像

nrm use taobao

3.4 全局安装webpack/webpack-cli

# 全局安装webpack
npm install -g webpack 
# 全局安装webpack-cli
npm install webpack-cli -g 

配置成全局

ln -s /soft/nodejs/bin/webpack  /usr/local/bin
ln -s /soft/nodejs/bin/webpack-cli /usr/local/bin

两个同时安装,才能检查到安装的版本

webpack -v

3.5 全局安装vue-cli

查看可安装的版本

npm view vue-cli versions –json

当前项目例子用2.6.*版本指定所以选2.6.0,命令如下:

npm install -g vue-cli@2.6.0

安装默认最新版本

npm install -g vue-cli

4. 安装NVM(个别云服务上失败,未找到原因)

一台服务器或者需要再多个nodejs切换时,可以安装nvm进行nodejs版本管理

4.1 上传nvm安装包,这边使用的是0.38.0

nvm github地址
nvm github版本地址

4.2 下载

git clone https://github.com/nvm-sh/nvm.git .nvm

4.3 配置环境

打开~/.bashrc

vi ~/.bashrc

在~/.bashrc的末尾,添加如下语句:

export NVM_DIR=" /soft/nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  
# This loads nvm bash_completion
# nodejs下载更换淘宝镜像
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

刷新配置

source ~/.bashrc

5. 安装Java

5.1 确认是否安装了Java

rpm -qa | grep java

5.2 上传解压Java

tar -zxvf jdk-8u411-linux-i586.tar.gz 
mkdir java	
mv /soft/jdk1.8.0_411/ /soft/java/

5.3 配置Java的环境变量

vi /etc/profile

在profile中添加如下配置:

export M2_HOME=/soft/apache-maven-3.9.6
export PATH=${PATH}:$JAVA_HOME/bin:$M2_HOME/bin

刷新权限

source /etc/profile

查看版本

mvn -v

6. 安装maven

6.1 下载

官网下载

6.2 解压

tar -zxvf apache-maven-3.9.6-bin.tar.gz

6.3 配置maven的环境变量

vi /etc/profile

在profile中添加如下配置:

export M2_HOME=/soft/apache-maven-3.9.6
export PATH=${PATH}:$JAVA_HOME/bin:$M2_HOME/bin

刷新权限

source /etc/profile

查看版本

mvn -v

7. 安装Redis

7.1 下载Redis

Redis官网
历史版本

7.2 上传及解压缩

tar -zxvf redis-7.2.5.tar.gz

7.3 编译安装

确保已经安装gcc-c++

yum install gcc-c++

进入文件夹编译

/soft/redis-7.2.5
make

make install确认所有都安装完成

make install

7.4 redis配置修改

默认安装路径:/usr/local/bin
进入Redis文件夹,修改redis.conf配置

# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes 
# 密码,设置后访问Redis必须输入密码
requirepass 123321
# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"

7.5 启动redis

redis-server /soft/redis-7.2.5/redis.conf

设置开机自启

vi /etc/systemd/system/redis.service
[Unit]
Description=redis-server
After=network.target[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /soft/redis-7.2.5/redis.conf
PrivateTmp=true[Install]
WantedBy=multi-user.target

重载系统服务

systemctl daemon-reload

设置开机自启

systemctl enable redis

7.6 redis的基本操作

# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis

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

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

相关文章

【odoo】常用的字符转义:“>“,“<“,““,“/“等

概要 字符转义是指在编写代码或处理文本数据时&#xff0c;将特殊字符转换为另一种形式&#xff0c;以便在特定的上下文中正确解析和处理这些字符。 内容 特殊字符描述XML转义表示法&和符号&amp;<小于符号<>大于符号>"双引号&quot;单引号&ap…

CentOS7 部署安装ClickHouse

一、什么是ClickHouse ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库&#xff08;DBMS&#xff09;&#xff0c;使用C语言编写&#xff0c;主要用于在线分析处理查询&#xff08;OLAP&#xff09;&#xff0c;能够使用SQL查询实时生成分析数据报告。 OLAP场景需要…

Laravel - excel 导入数据

在Laravel中&#xff0c;可以使用maatwebsite/excel这个库来处理Excel文件的导入。 1.用命令行窗口打开项目根目录&#xff0c;使用 Composer 安装 maatwebsite/excel composer require maatwebsite/excel --ignore-platform-reqs 在你的config/app.php文件中注册服务提供者&…

何在 Vue3 中使用 Cytoscape 创建交互式网络图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 Vue.js 中加载 Cytoscape.js 的技术实现 应用场景 Cytoscape.js 是一个用于创建交互式网络的可视化库。在生物信息学、社会网络分析和药物发现等领域中得到了广泛应用。 基本功能 本代码片段演示了如何在 V…

二叉树的这五种遍历方法你们都会了吗?

说在前面 &#x1f388;二叉树大家应该都很熟了吧&#xff0c;那二叉树的这五种遍历方式你们都会了吗&#xff1f; 以这一二叉树为例子&#xff0c;我们来看看不同遍历方式返回的结果都是怎样的。 前序遍历 前序遍历的顺序是&#xff1a;首先访问根节点&#xff0c;然后递归地…

使用 jQuery 选择器获取页面元素,然后利用 jQuery 对象的 css() 方法设置其 display 样式属性,从而实现显示和隐藏效果。

在页面中显示电影排行榜 当单击“&#xff08;收起&#xff09;”链接时&#xff0c;排行榜中后三项的电影名称隐藏而且链接的文本更改为“&#xff08;展开&#xff09; ” 当单击“&#xff08;展开&#xff09;”的链接时&#xff0c;后三项的电影名称重新显示且链接的文本…

视频剪辑技巧大揭秘:轻松掌握为视频添加梦幻光晕效果的绝妙方法!

在这个视觉盛宴的时代&#xff0c;每一个画面都渴望被赋予独特的魅力与魔法。今天&#xff0c;我要为你揭秘一个神秘的视频剪辑技巧——给视频添加光晕效果&#xff0c;让你的作品瞬间脱颖而出&#xff0c;成为朋友圈的焦点 首先&#xff0c;你可以打开原视频进行查看。此时&am…

QT自定义标题栏窗口其一:实现拖动及可拉伸效果

1、效果 2、核心代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(paren

高速公路声光预警定向广播助力安全出行

近年来&#xff0c;高速重大交通事故屡见不鲜&#xff0c;安全管控一直是高速运营的重中之重。如何利用现代化技术和信息化手段&#xff0c;创新、智能、高效的压降交通事故的发生概率&#xff0c;优化交通安全管控质量&#xff0c;是近年来交管部门的主要工作&#xff0c;也是…

将强化学习重新引入 RLHF

我们很高兴在 TRL 中介绍 RLOO (REINFORCE Leave One-Out) 训练器。作为一种替代 PPO 的方法&#xff0c;RLOO 是一种新的在线 RLHF 训练算法&#xff0c;旨在使其更易于访问和实施。特别是&#xff0c; RLOO 需要的 GPU 内存更少&#xff0c;并且达到收敛所需的挂钟时间也更短…

前端模糊搜索关键字高亮

效果 代码 <template><view class"flexStart new-box"><view class"company"><!-- 输入框样式 --><view class"spaceBetween companyName" click.stop"isCompany true"><input type"text&quo…

C盘满了怎么清理?一招让你远离C盘空间不足的烦恼

C盘满了怎么清理&#xff1f;一招让你远离C盘空间不足的烦恼&#xff0c;当C盘空间满了时&#xff0c;会给我们来一系列烦恼和潜在问题。比如&#xff1a;系统运行缓慢、程序崩溃或无法安装、启动时间变长、系统不稳定、文件管理困难、游戏卡顿、电脑卡顿、系统故障等问题&…

Linux使用Docker部署mysql5.7

一、拉取镜像 docker pull mysql:5.7 二、查看镜像 docker images 三、创建容器 这里稍微解释下 -p参数是端口映射 -v参数是数据卷挂载 数据卷挂载是Docker中的一种功能&#xff0c;它允许将主机上的目录或文件系统与容器内的目录绑定&#xff0c;实现数据的持久化存储…

短剧片源授权,类目丰富优惠多,抢先一步更新你的短剧系统片库!

前言 如今的短剧作为一种新兴的视听艺术形式&#xff0c;正以其独特的魅力迅速占领市场高地。为了满足广大短剧爱好者和从业者的需求&#xff0c;我们提供短剧片源授权服务&#xff0c;凭借剧场独家提供的丰富片源&#xff0c;助力您轻松更新短剧系统片库&#xff0c;抢占市场…

MySQL小版本升级(8.0.36->8.0.37)

关于MySQL升级的话MySQL官方文档上面介绍了2个方法&#xff0c;’就地升级’和‘逻辑升级’。’就地升级‘就是升级底层的RPM包而‘逻辑升级’就是将旧MySQL数据库上的信息迁移到新MySQL数据库上。 本篇文章介绍到的是RPM包升级 升级MySQL版本的典型步骤包括&#xff1a; 备份&…

算法篇-排序

快排 算法思想&#xff1a;每次找一个基数&#xff0c;然后对数组左右遍历&#xff0c;将小于基数的数据放到左边&#xff0c;大于基数的数放到右边&#xff0c;然后将基数左边&#xff0c;右边进行迭代再排序。 public static void quickSort(int[] nums, int left, int ri…

SCIE与SCI期刊的区别

在学术出版领域&#xff0c;SCI&#xff08;Science Citation Index&#xff09;和SCIE&#xff08;Science Citation Index Expanded&#xff09;是两个关键的索引数据库&#xff0c;它们对科研人员在选择发表论文的期刊时起着至关重要的作用。虽然这两个术语经常被交替使用&a…

Python100题(含答案)

温馨提示&#xff1a;篇幅有限&#xff0c;已打包文件夹&#xff0c;获取方式在&#xff1a;文末 温馨提示&#xff1a;篇幅有限&#xff0c;已打包文件夹&#xff0c;获取方式在&#xff1a;文末 篇幅有限&#xff0c;这份完整版的Python100题已经上传&#xff0c;朋友们如果…

easyx之图形库复习--自制写轮眼的图形绘制

引子效果图如下&#xff1a; 什么是easyx&#xff1f; EasyX 是针对 C/C 的图形库&#xff0c;可以帮助使用C/C语言的程序员快速上手图形和游戏编程。比如&#xff0c;可以用 VC EasyX 很快的用几何图形画一个房子&#xff0c;或者一辆移动的小车&#xff0c;可以编写俄罗斯方…

AI PPT生成器,一键在线智能生成PPT工具

PPT作为商业沟通和教育培训中的重要工具&#xff0c;PPT制作对于我们来说并不陌生。但是传统的PPT制作不仅耗时&#xff0c;而且想要做出精美的PPT&#xff0c;需要具备一定的设计技能。下面小编就来和大家分享几款AI PPT工具&#xff0c;只要输入主题&#xff0c;内容就可以在…