一、安装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项目部署到阿里云轻量级应用服务器相关推荐

  1. 轻量级mysql服务_Navicat连接阿里云轻量级应用服务器mysql

    前言:在开通了轻量级应用服务器后,服务器自带Mysql,我们为了协同开发,需要远程连接服务器中的mysql,这样就可以随时随地得进行协同开发. 1.开通防火墙端口 数据库服务默认的端口在防火墙上是没有 ...

  2. vue/react/web前端项目部署到阿里云服务器_nginx_pm2流程及部署前的准备

    前端开发完成的项目,不管是使用vue.react.或者是别的web项目,最终都是要部署到外网上,让用户可以通过域名来访问.这篇文章以一个 react 移动端的项目为例,讲怎样将自己本地的项目部署到阿里 ...

  3. 【前端Vue+后端Node.js+MySql】部署到服务器

    [前端Vue+后端Node.js+MySql]部署到服务器 文章目录 [前端Vue+后端Node.js+MySql]部署到服务器 1.买服务器 2.服务器操作 2.1.修改服务器密码,xshell登录 ...

  4. vue+node.js+mysql项目搭建

    前言 用vue搭建前端页面.用node开发后端接口.数据库用mysql 可行性分析 缺点: nodejs单线程,不能做cpu密集型操作,导致时间片不能释放,阻塞后面的任务. nodejs可靠性比较低, ...

  5. 王者荣耀全栈项目部署到阿里云服务器笔记

    王者荣耀全栈项目部署到阿里云服务器笔记 原创Charles_GX 最后发布于2020-03-27 01:27:00 阅读数 177  收藏 展开 王者荣耀全栈项目部署到阿里云服务器笔记 学习的项目来自 ...

  6. 将Egg项目部署到阿里云服务器

    目录 1.连接阿里云服务器,上传文件 2.在阿里云服务器上安装Nodejs 3.下载项目依赖 4.安装 egg-scripts 模块 5.启动项目 6.阿里云服务器开启7001端口 1.连接阿里云服务 ...

  7. 配置 --- 将本地项目部署到阿里云上

    说明: 项目代码 学习地址 项目前端使用了nginx代理 后端使用express框架 使用PM2部署后端 使用mongoDB进行持久化 nginx.express.PM2.mongoDB等,部署在do ...

  8. 保姆级教程——将springboot项目部署到阿里云服务器(小白包会)

    保姆级教程--将springboot项目部署到阿里云服务器(小白包会) 前言: 昨天本想着看论文,结果发现找的论文和课题不一致.那干点什么好呢?那就把我的毕业设计(一个springboot项目)部署到 ...

  9. 解决springboot项目部署到阿里云服务器邮箱无法发送邮件

    解决springboot项目部署到阿里云服务器邮箱无法发送邮件 前言:今天部署了一下springboot项目,使用的是docker部署的,如果有兴趣可以看我这篇文章: docker上部署前后端分离的s ...

最新文章

  1. windows 10占用cpu和内存过高
  2. 【避坑】初次接项目的血与泪,扎坑了老
  3. aba会导致问题_护发素会导致掉发?这个纠结多年的问题,真相原来是这回事
  4. c语言输出随机数switch,在Switch语句案例中使用随机数
  5. 《Java 8 in Action》Chapter 12:新的日期和时间API
  6. 贺利坚老师汇编课程21笔记:用汇编语言写的源程序
  7. Cowboy 源码分析(二十六)
  8. Root Pane Container(三)
  9. java中contains的用法_好程序员Java教程分享Java中this的几种用法
  10. 计算机运维机构管理制度,信息化机房运维管理制度
  11. CG标准函数库——数学函数(GPU编程与CG语言之阳春白雪下里巴人)
  12. Shell编程(三)grep sed awk文本处理三剑客
  13. C语言程序设计期末考试A卷,C语言程序设计(B)期末考试A卷-试卷.doc
  14. 使用Qt Designer制作软件的图形界面
  15. 果糖SAAS开源社交电商小程序,全开源,无加密
  16. SIM卡中UCS2编码的三种格式(80,81,82)分析
  17. 估计量的无偏性,有效性和一致性
  18. 时间片论法-优化方案
  19. mooc《工程流体力学》笔记
  20. ios html文本高度,iOS 14 准确计算WKWebview Html内容高度 简易方法

热门文章

  1. 使用 smartupload 上传文件
  2. 自由天空GhostXP纯净版v1.1
  3. DDoS 保护、缓解和防御:8 个基本技巧(3~4)
  4. 拯救十年前的利盟z25打印机
  5. 破解密码的8种典型手段与防护建议
  6. Kettle 使用详解
  7. hpoem系统服务器,hp(惠普)Windows 7 32/64位-OEM版
  8. CDH6.1.0环境搭建 完成后 登录admin账户失败
  9. 用继承的方式实现一个打印机,父类(打印机),子类(黑白打印机、彩色打印机)...
  10. iOS实现浮动泡泡功能,悬浮泡泡,windows系统屏幕保护程序的气泡功能(碰撞检测)