node+mongo + vue 开发管理平台部署到阿里云服务器入坑之旅

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云数据库 MongoDB,通用型 2核4GB
云服务器ECS,u1 2核4GB 1个月
简介: 导语:使用vue+element-ui开发前端,node.js+express+mongodb开发后端,部署到阿里云服务器(镜像信息Node.js)。 1、申请阿里云服务器 可以申请一个最便宜的用来练手。

导语:使用vue+element-ui开发前端,node.js+express+mongodb开发后端,部署到阿里云服务器(镜像信息Node.js)。

1、申请阿里云服务器

可以申请一个最便宜的用来练手。系统镜像选择CentOS,应用镜像选择Node.js(版本4.8.4,需要升级)。

2、登录服务器

打开终端,输入sudo -i 来切换用户,输入ssh root@公网ip

sudo -i
ssh root@公网ip
输入密码(如果是第一次需要根据提示输入yes)

密码需要在服务器运维-远程连接里去设置,如图_2019_07_23_6_45_10

3、用transmit客户端连接服务器

下载transmit
_2019_07_23_6_42_44
选手sftp,输入server 公网ip、user name root 、password * 点击connect
连接到服务器,就可以把代码上传到服务器相应的文件夹里,推荐home文件夹

4、修改nginx

vi /usr/local/nginx/conf/nginx.conf

修改如下

server {
        listen 80;
        server_name _;

        return 404;
}

server {
        listen       80;
        server_name  你的域名.com www.你的域名.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {  // 这里通过nginx把所有请求都转发到node启动的服务上
            proxy_pass http://127.0.0.1:nodejs配置的端口号;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }
启动nginx  常用方法
/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -t #检查配置文件编写是否正确
/usr/local/nginx/sbin/nginx -s reload #Nginx平滑重启 (一般用这个就可以了)
/usr/local/nginx/nginx.conf #配置文件。

5、升级node版本

通过终端进入服务器后,输入nvm list

[root@iz2zeaxcuikwvill2ho8yiz bin]# nvm list
         v4.8.4
->      v12.6.0
default -> stable (-> v12.6.0)
node -> stable (-> v12.6.0) (default)
stable -> 12.6 (-> v12.6.0) (default)
iojs -> N/A (default)
lts/* -> lts/dubnium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.16.0 (-> N/A)
lts/dubnium -> v10.16.0 (-> N/A)
[root@iz2zeaxcuikwvill2ho8yiz bin]# 

这里使用的是v12.6.0
nvm install stable来安装稳定版
nvm use stable 指定某个版本
nvm alias default stable 来改变默认版本,这样就不用每次都切换版本了
如果我们node项目中使用了es6的语法,就需要这样升级node版本

6、安装pm2

全局安装

npm install pm2 -g

用pm2来启动node项目,维护进程

pm2 start ./bin/www // 启动项目
pm2 list // 查看当前启动项
pm2 restart id // 重启指定项目
pm2 logs  // 查看node 日志

7、安装mongodb

如果项目内/usr/local 内有mongodb了就不用安装了

cd /usr/local
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.6.tgz

解压,重新命名文件夹名

tar zxvf mongodb-linux-x86_64-2.6.0.tgz
mv mongodb-linux-x86_64-2.6.0 mongodb

创建数据和日志存放目录

mkdir /var/mongodb
mkdir /var/mongodb/data
mkdir /var/mongodb/logs

打开rc.local文件,添加CentOS开机启动项:

vim /etc/rc.d/rc.local

将mongodb启动命令追加到本文件中,让mongodb开机自启动:

/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log --logappend --auth --port 27017 --fork
注意 --auth有这个属性则会需要验证登录

启动mongo

/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log --logappend --auth --port 27017 --fork

启动pm2 start ./bin/www,然后访问公网ip即可

碰到的开发问题

1、当用终端连接服务器报错

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:WPZj3KzLPVObBN07JKimZxPVS+3GRMMeuVj85oo8Gtw.
Please contact your system administrator.
Add correct host key in /var/root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /var/root/.ssh/known_hosts:1
ECDSA host key for 47.93.54.209 has changed and you have requested strict checking.
Host key verification failed.

当服务器重新配置的时候就会出现这种情况,服务器的ssh发生了改变,需要删除本地的缓存数据。输入vi /var/root/.ssh/known_hosts把对应公网ip的数据删除,保存即可

2、结束mongodb进程 重启mongodb

> ps -ef | grep mongod
root     20446     1  0 11:44 ?        00:00:02 /usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log --logappend --auth --port 27017 --fork
root     20941 18326  0 11:54 pts/0    00:00:00 grep --color=auto mongod
> kill -9 20446
相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
Java 应用服务中间件 Linux
在阿里云服务器上部署Tomcat详细图文详解
本文介绍了在阿里云服务器上安装和配置JDK和Tomcat的步骤。首先,需要注册阿里云账号并进行实名认证,然后购买并设置服务器。接着,通过File Zilla连接服务器,创建Java和Tomcat的安装目录,并将JDK和Tomcat的tar.gz文件上传到服务器,解压并重命名。之后,配置JDK的环境变量,将catalina.sh复制到/etc/init.d/目录下,并修改相关配置。最后,启动Tomcat并配置安全组规则,确保可以通过公网访问。
|
1天前
|
弹性计算 Java Linux
阿里云服务器搭建部署宝塔详细流程
该内容是一个阿里云服务器和域名的配置指南。首先,需注册阿里云账号并进行企业实名认证。接着,选购服务器如2核2G1兆的Linux系统,并购买域名。完成域名备案后,进行域名解析和ICP备案。然后,通过远程连接登录服务器,重置密码,安装宝塔面板。在安全组中开启宝塔面板随机生成的端口。最后,登录宝塔面板安装LNMP环境,配置数据库如MySQL和Redis,部署JDK、Tomcat,上传前端和后端项目以实现上线。
|
2天前
|
弹性计算 JavaScript Java
阿里云服务器搭建部署宝塔详细流程
以下是内容的摘要: 本文主要介绍了在阿里云上创建和配置服务器环境的步骤,包括注册阿里云账号、实名认证、购买和设置服务器、域名的获取与备案、以及使用宝塔面板安装和配置环境。首先,用户需要注册阿里云账号并进行实名认证,选择合适的服务器配置。接着,购买服务器后,要准备并备案域名,以便通过友好的网址访问网站。在服务器上安装宝塔面板,可以方便地管理和配置LAMP/LNMP/Tomcat/Node.js等应用环境。完成这些步骤后,用户还需要在宝塔面板中安装MySQL、Redis等数据库,部署Java或Vue项目,并配置相关端口。最后,将前端项目打包上传至服务器,并设置站点,即可实现网站的上线。
|
2天前
|
应用服务中间件 Linux 开发工具
如何在阿里云服务器快速搭建部署Nginx环境
以下是内容的摘要: 本文档主要介绍了在阿里云上购买和配置服务器的步骤,包括注册阿里云账号、实名认证、选择和购买云服务器、配置安全组、使用Xshell和Xftp进行远程连接和文件传输,以及安装和配置Nginx服务器的过程。在完成这些步骤后,你将能够在服务器上部署和运行自己的网站或应用。
|
4天前
|
NoSQL 关系型数据库 MySQL
阿里云服务器部署项目流程
本文主要讲解阿里云服务器的部署,如何选择配置等
|
2月前
|
Web App开发 缓存 JavaScript
【安装指南】nodejs下载、安装与配置详细教程
这篇博文详细介绍了 Node.js 的下载、安装与配置过程,为初学者提供了清晰的指南。读者通过该教程可以轻松完成 Node.js 的安装,了解相关配置和基本操作。文章首先介绍了 Node.js 的背景和应用场景,随后详细说明了下载安装包、安装步骤以及配置环境变量的方法。作者用简洁明了的语言,配以步骤图示,使得读者能够轻松跟随教程完成操作。总的来说,这篇文章为初学者提供了一个友好的入门指南,使他们能够顺利开始使用 Node.js 进行开发。
149 1
【安装指南】nodejs下载、安装与配置详细教程
|
2月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
70 0
|
3月前
|
JavaScript 前端开发 API
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)(下)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
34 0
|
3月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)(上)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
42 0
|
12天前
|
JavaScript Windows
NodeJS 安装及环境配置
NodeJS 安装及环境配置