React + Node.js + Mysql项目部署到阿里云轻量级应用服务器
一、安装Mysql,可外网访问
1. 更新系统 【在root用户下】
apt-get update
2.安装Mysql-server
apt-get install mysql-server apt-get isntall mysql-client apt-get install libmysqlclient-dev
注:若是安装出现问题,参考博客:点击打开链接,当然我在安装的时候没有出现任何问题,祝各位也一切顺利!
3.查询是否安装成功
netstat -tap | grep mysql
4.使用客户端远程链接
默认情况下,不能用客户端远程连接的,阿里云提供的help.docx里面做了设置说明,mysql密码默认存放在/alidata/account.log
// 登录数据库
mysql -u root -p
// 输入数据库的密码
Enter Password:
// 为root用户授予全部权限 (实际的语句写法有很多,诸君可自行百度)
grant all on *.* to 'root'@ '%' identified by '数据库密码' with grant option
// 刷新列表,使得修改权限生效
flush privileges
# 数据库启动
service mysql start
# 数据库停止
service mysql stop
# 数据库重启
service mysql restart
客户端工具我使用的是Navicat,其实这个客户端工具是个人选择,看诸君个人的喜好。
二、部署Node项目
其实再实际操作前,我对于如何部署后台项目可谓是一窍不通,但在网上查看了许多文档后,总算明白了。其实部署,说到底就是将后台项目放置在自己的阿里云服务器上,并且让它一直处于运行状态,这样就可以前端的Web项目就可以一直访问了,是不是很简单,那么就介绍一下具体步骤:
1.安装Node和npm
安装步骤网上有很多,大家可以自行百度查看,附上阿里云的官方文档:点击打开链接,在该教程里还让安装版本管理nvm,方便后期长期进行node版本管理,但因为笔者在进行部署的时候也是菜鸟一枚,没想过要长期管理,所以没有安装,当然页完全不影响后面的部署
2.首先将Node项目放在服务器上
Node项目和后台的Java代码不一样,不需要编译,直接进行上传就可以,所以我才用的懒人的办法——使用git
// 安装git (这里是本人的安装,如需更高版本的安装,请自行百度)
apt-get install git
安装成功后,就可以按照以往的git操作命令,将Node项目克隆到服务器上
3.启动Node项目
如果是直接使用node app.js 或者 npm start启动项目,那么在关闭连接后,项目的启动也会停止,所以我们需要使用让Node项目能够一致在后台自行运行,在这里我使用的是PM2管理工具,当然还有forever等,大家可以自行尝试.
// 全局安装pm2
npm install -g pm2
安装成功后就进入运行pm2命令,运行Node项目,我这里的项目是Express,首先启动的是bin/www下的文件,所以在使用时先进入Node项目下,然后运行 pm2 start bin/www 来启动项目。其实pm2还有很多用途,详细的命令,附上参考文档。
【注意】在部署服务器前,需要将监听的地址改为0.0.0.0,具体原因,嗯~ o(* ̄▽ ̄*)o,笔者没有细究。
找到Node项目下bin/www 文件,找到监听的地方
可见,监听的地址是由onListening函数来处理的,找到这个函数进行修改
三、部署React项目
部署前端项目,我采用的是最为简单nginx,只需要安装好nginx,配置好配置文件nginx.conf,然后将打包好的文件丢到服务器上就可以,听上去是不是很简单,那么就实践操作一下吧。
1.上传打包好的资源文件
在本地执行npm run build命令后,将dist文件夹中的资源文件上传到服务器,我上传使用的是rz和sz命令,大家可以自行百度如何安装,当然你也可以选择自己熟悉的上传方式,反正只要上传成功就行。
我是在/home/React_WEB中存放资源文件,这个路径很重要,关系到后续的nginx配置
2.安装nginx
apt-get install nginx
3.配置nginx
要配置nginx就需要先了解配置文件的基本属性,附上参考文档。
了解nginx的基本配置属性后,我们发现其实只需要修改配置文件/etc/nginx/nginx.conf中修改http部分,设置其中的Server属性,配置虚拟主机,主要就是设置监听的端口,资源的访问地址等,我的配置比较简单,参看下图:(仅供参考)
user www-data;
worker_processes auto;
pid /run/nginx.pid;events {worker_connections 768;# multi_accept on;
}http {### Basic Settings##sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;# server_tokens off;# server_names_hash_bucket_size 64;# server_name_in_redirect off;include /etc/nginx/mime.types;default_type application/octet-stream;### SSL Settings##ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLEssl_prefer_server_ciphers on;### Logging Settings##access_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log;### Gzip Settings##gzip on;gzip_disable "msie6";# gzip_vary on;# gzip_proxied any;# gzip_comp_level 6;# gzip_buffers 16 8k;# gzip_http_version 1.1;# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;### Virtual Host Configs##include /etc/nginx/conf.d/*.conf;// 原本这个文件是要引入sites-enabled的文件夹下面的默认配置文件,我这里是将其注释掉,然后直接在nginx.conf文件里写# include /etc/nginx/sites-enabled/*;server {listen 80; // 监听的端口server_name whsjblog.com; // 设置访问的域名或者改为服务器的公网IP地址root /home/React_WEB; // 资源文件的存放路径index index.html; location ~^/favicon\.ico$ {root /home/React_WEB;}location / {try_files $uri $uri/ /index.html;}}
}
配置成功后,只需要在地址栏输入域名和服务器的外网IP地址就可以访问了。
React + Node.js + Mysql项目部署到阿里云轻量级应用服务器相关推荐
- 轻量级mysql服务_Navicat连接阿里云轻量级应用服务器mysql
前言:在开通了轻量级应用服务器后,服务器自带Mysql,我们为了协同开发,需要远程连接服务器中的mysql,这样就可以随时随地得进行协同开发. 1.开通防火墙端口 数据库服务默认的端口在防火墙上是没有 ...
- vue/react/web前端项目部署到阿里云服务器_nginx_pm2流程及部署前的准备
前端开发完成的项目,不管是使用vue.react.或者是别的web项目,最终都是要部署到外网上,让用户可以通过域名来访问.这篇文章以一个 react 移动端的项目为例,讲怎样将自己本地的项目部署到阿里 ...
- 【前端Vue+后端Node.js+MySql】部署到服务器
[前端Vue+后端Node.js+MySql]部署到服务器 文章目录 [前端Vue+后端Node.js+MySql]部署到服务器 1.买服务器 2.服务器操作 2.1.修改服务器密码,xshell登录 ...
- vue+node.js+mysql项目搭建
前言 用vue搭建前端页面.用node开发后端接口.数据库用mysql 可行性分析 缺点: nodejs单线程,不能做cpu密集型操作,导致时间片不能释放,阻塞后面的任务. nodejs可靠性比较低, ...
- 王者荣耀全栈项目部署到阿里云服务器笔记
王者荣耀全栈项目部署到阿里云服务器笔记 原创Charles_GX 最后发布于2020-03-27 01:27:00 阅读数 177 收藏 展开 王者荣耀全栈项目部署到阿里云服务器笔记 学习的项目来自 ...
- 将Egg项目部署到阿里云服务器
目录 1.连接阿里云服务器,上传文件 2.在阿里云服务器上安装Nodejs 3.下载项目依赖 4.安装 egg-scripts 模块 5.启动项目 6.阿里云服务器开启7001端口 1.连接阿里云服务 ...
- 配置 --- 将本地项目部署到阿里云上
说明: 项目代码 学习地址 项目前端使用了nginx代理 后端使用express框架 使用PM2部署后端 使用mongoDB进行持久化 nginx.express.PM2.mongoDB等,部署在do ...
- 保姆级教程——将springboot项目部署到阿里云服务器(小白包会)
保姆级教程--将springboot项目部署到阿里云服务器(小白包会) 前言: 昨天本想着看论文,结果发现找的论文和课题不一致.那干点什么好呢?那就把我的毕业设计(一个springboot项目)部署到 ...
- 解决springboot项目部署到阿里云服务器邮箱无法发送邮件
解决springboot项目部署到阿里云服务器邮箱无法发送邮件 前言:今天部署了一下springboot项目,使用的是docker部署的,如果有兴趣可以看我这篇文章: docker上部署前后端分离的s ...
最新文章
- windows 10占用cpu和内存过高
- 【避坑】初次接项目的血与泪,扎坑了老
- aba会导致问题_护发素会导致掉发?这个纠结多年的问题,真相原来是这回事
- c语言输出随机数switch,在Switch语句案例中使用随机数
- 《Java 8 in Action》Chapter 12:新的日期和时间API
- 贺利坚老师汇编课程21笔记:用汇编语言写的源程序
- Cowboy 源码分析(二十六)
- Root Pane Container(三)
- java中contains的用法_好程序员Java教程分享Java中this的几种用法
- 计算机运维机构管理制度,信息化机房运维管理制度
- CG标准函数库——数学函数(GPU编程与CG语言之阳春白雪下里巴人)
- Shell编程(三)grep sed awk文本处理三剑客
- C语言程序设计期末考试A卷,C语言程序设计(B)期末考试A卷-试卷.doc
- 使用Qt Designer制作软件的图形界面
- 果糖SAAS开源社交电商小程序,全开源,无加密
- SIM卡中UCS2编码的三种格式(80,81,82)分析
- 估计量的无偏性,有效性和一致性
- 时间片论法-优化方案
- mooc《工程流体力学》笔记
- ios html文本高度,iOS 14 准确计算WKWebview Html内容高度 简易方法
热门文章
- 使用 smartupload 上传文件
- 自由天空GhostXP纯净版v1.1
- DDoS 保护、缓解和防御:8 个基本技巧(3~4)
- 拯救十年前的利盟z25打印机
- 破解密码的8种典型手段与防护建议
- Kettle 使用详解
- hpoem系统服务器,hp(惠普)Windows 7 32/64位-OEM版
- CDH6.1.0环境搭建 完成后 登录admin账户失败
- 用继承的方式实现一个打印机,父类(打印机),子类(黑白打印机、彩色打印机)...
- iOS实现浮动泡泡功能,悬浮泡泡,windows系统屏幕保护程序的气泡功能(碰撞检测)