【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;
    #将请求转成https
    rewrite ^(.*) 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.mfbz.cn/a/729803.html

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

相关文章

字符串函数的使用和模拟实现(四)

#include<string.h> int main() { char arr1[30]{“kongchao”}; char arr2[30]{“hello world”}; strncpy(arr2,arr1,9);//拷贝九个是因为第九个字节是’\0’ printf(“%s”,arr2); return 0; } strncpy函数模拟实现 #include<stdio.h> #include<a…

【前端vue3】TypeScrip-interface(接口)和对象类型

对象类型 定义对象需要用到interface&#xff08;接口&#xff09;&#xff0c;主要用来约束数据的类型满足格式 定义方式如下&#xff1a; interface Person {name: string;age: number; }如对象中与接口中的属性不一致会报错&#xff0c;必须保持一致 例如如下&#xff1a…

湖北建筑施工特种作业人员建筑起重信号司索工:年薪多少?

"湖北建筑施工特种作业人员建筑起重信号司索工&#xff1a;年薪多少&#xff1f;前景如何&#xff1f;" 2024湖北建筑施工特种作业人员建筑起重信号司索工 2024年湖北省建筑施工特种作业人员中的建筑起重信号司索工&#xff0c;是一项关键的工种&#xff0c;其在建筑…

让我来告诉初学者到底什么叫嵌入式系统?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;我们在刚刚开始学习电子学…

智慧校园的含义是什么

智慧校园&#xff0c;这一概念深深植根于现代科技土壤之中&#xff0c;是由人工智能、大数据、云计算等前沿技术深度融合所催生的教育领域革新典范。它不仅仅是一个物理空间&#xff0c;而是一个集成了智能感知、个性化服务、教育资源优化、未来教学模式、高效管理、便捷生活服…

用全志T113做了块多功能卡片电脑,成本只要60块

FunnyPi-T113是一款基于全志T113-S3/D1S处理器的完全开源多功能开发板&#xff0c;设计FunnyPi最初的目的是想借此T113卡片电脑来满足日常学习&#xff0c;并结合T113高效能和低功耗的特点&#xff0c;来满足像语音助手&#xff0c;智能家居屏幕、桌面摆件屏、博客服务器等嵌入…

【前端】[vue3] [uni-app] 组件样式击穿:deep

我是在开发uni-app时测试的思路&#xff0c;大家可以借鉴一下。 我这边测试的是uni组件&#xff0c;但是我觉得即便你用element-plus之类的&#xff0c;样式击穿的思路都相同。 我自定义了一个全局样式scss文件&#xff0c;并引入到了项目中。(如图) 利用vue3 中的 deep 方式…

极狐GitLab落户香港科学园并成功发布AI产品驭码CodeRider国际版

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab &#xff1a;https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署…

虚函数 虚表指针

虚函数表和虚表指针 1&#xff0c;虚函数的含义 用virtual声明类的成员函数称之为虚函数 2&#xff0c;作用 用于实现多态 存在继承关系&#xff0c;子类继承父类 子类重写了父类的virtual function 子类以父类的指针或者引用的身份出现 3&#xff0c;虚函数的实现原理 其中的…

html渲染的文字样式大小不统一解决方案

React Hooks 封装可粘贴图片的输入框组件&#xff08;wangeditor&#xff09;_react 支持图片拖拽的输入框-CSDN博客 这篇文章中的wangediter可粘贴图片的输入框&#xff0c;输入的文字和粘贴的文字在dangerouslySetInnerHTML渲染后出现了字体不统一的情况 在html中右键检查可…

openppp2 控制台回显窗口输出内容详解

本文介绍 openppp2 的控制窗口回显内容&#xff0c;以LINUX平台为例子&#xff0c;其它平台大同小异&#xff0c;区别只是多了一些额外的输出选项内容&#xff0c;本文会在下面补充。 在本文开始之前请查阅关联内容&#xff1a;openppp2 命令行接口详解-CSDN博客 控制台客户端…

自学鸿蒙HarmonyOS的ArkTS语言<三>路由跳转及传参

【官方文档传送门】 一、导入模块 import router from ohos.router二、新增页面配置 三、常用api 1、跳转到应用内的指定页面 build() {Row() {Button(下一页).onClick(() > {router.pushUrl({url: pages/Index2,params: {name: test}})})}.height(100%)}2、用应用内的某…

大模型如何改变世界?李彦宏:未来至少一半人要学会“提问题“

2023年爆火的大模型&#xff0c;对我们来说意味着什么&#xff1f; 百度创始人、董事长兼CEO李彦宏认为&#xff0c;“大模型即将改变世界。” 5月26日&#xff0c;李彦宏参加了在北京举办的2023中关村论坛&#xff0c;发表了题为《大模型改变世界》的演讲。李彦宏认为&#…

Transformer中的Self-Attention和Multi-Head Attention

2017 Google 在Computation and Language发表 当时主要针对于自然语言处理&#xff08;之前的RNN模型记忆长度有限且无法并行化&#xff0c;只有计算完ti时刻后的数据才能计算ti1时刻的数据&#xff0c;但Transformer都可以做到&#xff09; 文章提出Self-Attention概念&…

LeYOLO 用于目标检测的新型可扩展和高效CNN架构 | 最新轻量化SOTA! 5GFLOP下无对手!

本改进已集成到 YOLOv8-Magic 框架。 论文地址:https://arxiv.org/pdf/2406.14239 代码地址:https://github.com/LilianHollard/LeYOLO/tree/main 在深度神经网络中,计算效率对于目标检测至关重要,尤其是在新型模型更倾向于速度而非计算效率(浮点运算次数,FLOP)的情况下…

Transformer1--self attention

目录 一、 Vector set as 输入二、 模型输出&#xff08;三种&#xff09;1 **n-to-n**2 n-to-13 n-to-m 三、self-attention1、问题引入2、self-attention3 self-attention 原理介绍 一、 Vector set as 输入 一段声音讯号&#xff1a; 图结构&#xff08;graph&#xff09;…

店员顾客起纠纷?EasyCVR+AI视频监控管理平台,助力连锁门店安全运营

近日&#xff0c;某品牌咖啡店店员与顾客起冲突登上了新闻热搜&#xff0c;一时间引发大量关注。随着门店完整的监控视频录像公开&#xff0c;大家才了解事情的原委&#xff0c;而并非网传的那样。 随着社会的进步和科技的发展&#xff0c;视频监控已成为各行各业不可或缺的安全…

红军九大技战法

一、动态对抗&#xff0c;线上社工持续信息追踪 发起攻击前&#xff0c;发起攻击前&#xff0c;尽可能多的搜集攻击目标信息&#xff0c;做到知己知彼&#xff0c;直击目标最脆弱的地方。攻击者搜集关于目标组织的人员信息、组织架构、网络资产、技术框架及安全措施信息&#x…

一分钟了解中小企业数字化转型如何进行?「建议收藏」

关于“中小企业数字化转型方法论”&#xff0c;其实网上已经有不少文章给出了一些方式方法&#xff0c;那么这里我再系统性的讲解一下。 一、中小企业为什么要实现数字化转型 首先要知道&#xff0c;中小企业为什么要实现数字化转型&#xff1f;当前&#xff0c;世界经济数字化…

社区团购系统智慧门店物流配送系统开发,支持小程序公众号。

目录 前言&#xff1a; 一、为什么要做社区团购小程序&#xff1f; 二、怎么做一个社区团购小程序&#xff1f; 三、制作属于自己的社区团购小程序有什么好处&#xff1f; 总结&#xff1a; 前言&#xff1a; 社区团购是针对小区居民或群体开发的在线购物平台&#xff0c;…