node项目部署以及搭建nginx服务器
因为阿里云的服务器就要到期,所以就需要重新购买服务器,考虑到服务器续费有点贵而又赶上腾讯云在搞周年庆的活动,所以这次就购买了腾讯云的服务器,也因为更换了服务器,所以就得重新部署博客项目
更多文章请访问 深的个人博客
博客项目技术栈
前端
vue全家桶
axios
elementUI
vue-socket.io
echarts
后端
node (koa2)
socket.io
数据库
mongodb
服务器
nginx
上线流程
服务器购买,域名购买,域名备案,公安备案
购买服务器的流程这里就不多写了,大家可以选择合适的服务器购买,阿里云和腾讯云的部署流程都是差不多的,当然前提是服务器的系统要一致,我这里选择的服务器系统是centos7,所以以下的操作流程中的部分操作仅适合centos7系统的服务器,购买服务器之后,还需要购买域名,域名购买之后是需要进行备案的,备案的时间各地的时间都不一样,大概也就是8-15天左右吧,域名备案的流程阿里云和腾讯云都是有教程的,按教程走就行了。域名备好案之后,还需要进行公安备案,流程的话自行百度吧。
使用xftp 和 xshell 连接服务器
xftp 和 xshell 下载地址
连接服务器
以下是xshell 连接服务器的方法,xftp方法类似
1、打开xshell,新建会话
2、填写必要信息:ip地址(服务器的公网IP),登陆名,登陆密码
连接成功
重置密码(忘记密码或者不知道登陆密码才需要执行这一步)
登陆腾讯云(阿里云)查看你购买的云服务器,并执行以下操作
在服务器中安装node
以下操作会使用到部分Linux命令
安装 npm
yum install npm -y (可以在任意目录)
检测npm是否安装成功
npm -v (centOS的yum安装的npm是3.10.10的版本,比较低,但是不影响后面几步的操作,当完成node安装之后,自动升级npm)
安装淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
通过npm安装 n 模块(n模块的作用是node的版本管理器)
npm i n -g
检测 n模块 是否安装成功(会显示很大一段n的命令)
n --help
通过 n命令 来安装和切换各个版本的node
安装
n stable 安装稳定版本
n latest 安装最新的版本
n x.x.x 安装x.x.x版本的node
切换
直接 n 回车,上下方向键选择当前需要的node版本(安装/切换 之后,需要关闭一下xshell,才能通过 node -v 检测当前node版本,npm版本也会自动升级)
在服务端运行node项目
相关文章
vue项目部署到node项目中
解决vue项目打包部署到服务器后刷新页面报告404的问题
步骤
- 在本地测试好
- 把项目文件通过ftp上传到服务器(可以将项目上传到root文件夹中),注意不要上传 node_modules 因为内容太多很慢,可以在服务器用npm i命令安装依赖
- 在服务器安全组里面添加安全组规则,开放端口
- 在xshell运行nodejs文件启动服务
- 使用 公网ip:端口 的形式,所有人都能访问你的程序
服务器安装mongodb
以CentOs为例,详细步骤在mongodb官网,其他版本Linux都可以在官网找到。简单整理一下:
- 使用vim命令创建repo文件
vim /etc/yum.repos.d/mongodb-org-4.0.repo
,按 i 进入编辑模式,复制(shift+ins)以下内容到该文件中,按 ESC ,输入 :wq,保存退出。
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
- 运行命令
sudo yum install -y mongodb-org
,等安装。 - 运行命令
sudo service mongod start
,启动mongodb,全部完成了。
安装 pm2 实现进程守护
安装 (回到 / 目录)
npm i pm2 -g
测试是否安装成功
pm2 -v (打印版本)
代替node启动服务
pm2 start 文件名.js (后面还可以跟上很多参数,暂时不需要了解)
停止服务
pm2 stop 文件名.js (停止之后,在pm2的列表里面还存在,但是status项为stopped)
展示当前pm2所管理的服务信息
pm2 list
取消管理服务
pm2 kill (停止并取消管理服务,pm2的列表里面也没有对应的信息)
安全组配置以及域名解析
安装好node 和 mongodb 数据库,并且使用 xftp 将 项目上传到服务器之后,并启动项目就可以通过通过公网ip来进行访问,但是还需要配置好安全组才能开放对应的端口,如果还需要使用域名来访问的话,就需要设置好域名解析,方法如下:
配置安全组
域名解析
安装 nginx 服务器
下载nginx
地址:http://nginx.org/en/download.html
下载nginx-_12.tar.gz的源代玛文件: wget htp:/nginxc org/download/nginx- 12.2.tar.g
安装依赖
nginx的安装需要Linux安装相关的几个库,否则配置和编译会出现错误,这几个库分别是
gcc编译器:gcc
openssl库:openssl openssl-devel
pcre库:pcre pcre-devel
zlib库:zlib zlib-devel
一次性安装的方法:
yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel -y
正式安装nginx
上传nginx压缩包到服务器
在服务器中使用 mkdir 文件夹名称 命令新建一个文件夹存放nginx压缩包,然后通过 cd 命令进入到该文件夹中
使用rz命令上传
如果没有 rz 命令
1、需要上传或者下载,需要使用rz和sz命令。如果linux上没有这两个命令工具,则需要先安装。可以使用yum安装。运行命令yum install lrzsz。 2、安装完成后就可以使用rz命令上传本地的文件到linux平台。运行rz命令,会弹出选择文件的对话框
解压
解压下载下来的nginx文件,执行命令: tar -zxvf nginx-1.12.2.tar.gz
在输入命令的时候可以使用 tab 键补全nginx的文件名称
指定安装路径
切换到nginx解压后的文件夹里 nginx-1.12.2 执行命令
/configure --prefix=/usr/local/nginx
(其中–prefix是指定nginx安装路径)
编译
执行命令
make
安装
执行命令安装
make install
启动nginx
普通启动
切换到nginx安装目录的sbin目录下,执行:./nginx
通过配置文件启动
./nginx -c /usr/local/nginx/conf/nginx.conf
或
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf解释:
/usr/local/nginx/sbin/nginx 和 /usr/local/nginx/conf/nginx.conf 是nginx安装目录的sbin目录以及nginx配置文件所在的路径 , -c是指定配置文件
检查nginx是否启动
ps -ef | grep nginx
nginx体系结构由master进程和其worker进程组成;
master进程读取配置文件,并维护worker进程,而worker进程则对请求进行实际处理
浏览器访问nginx服务器
nginx服务器部署成功后将会出现以下界面
关闭nginx
优雅的关闭
找出nginx的进程号:ps -ef | grep nginx
执行命令:kill -QUIT 主pid
其中pid是主进程号的pid(master process),其他为子进程pid(worker process)
快速关闭
执行命令:kill -TERM 主pid
重启nginx
./nginx -s reload
修改nginx配置文件
进入nginx.conf:
vi /usr/local/nginx/conf/nginx.conf
修改配置文件:
按 i 键进入编辑模式
不保存退出(不强制退出): esc --> :q! --> 回车(强制退出)esc --> :q --> 回车 (不强制退出)保存退出:esc --> :wq --> 回车
测试是否修改成功:
/usr/local/nginx/sbin/nginx -t
重新加载:
/usr/local/nginx/sbin/nginx -s reload
以下配置主要是配置 gzip , 请求转发(普通请求和websoket请求)
#user nobody;
worker_processes 1;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;
}
http {include mime.types;default_type application/octet-stream;client_max_body_size 20m; sendfile on;keepalive_timeout 65;gzip on; #开启gzip压缩gzip_comp_level 9; #压缩等级# 进行压缩的文件类型。gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/xml text/javascript application/json image/png image/gif image/jpeg;server {listen 80;server_name localhost;#charset koi8-r;#代理node服务location ~ / {proxy_set_header Upgrade $http_upgrade; # 转发websocket请求的配置proxy_set_header Connection "upgrade"; # 转发websocket请求的配置proxy_pass http://127.0.0.1:81; # node服务启动的端口} error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
}
关于网站的图片资源
因为购买的服务器性能还是低的,所以图片资源在加载的时候还是比较慢的,因此这些图片资源还是要进行处理,在这里介绍两种方式:
CDN
因为博主也没用使用过这种这种方式,只是看到过相关的文章,所以大家还是自行百度,另外这种方式是需要花费资金的
cdn的介绍
使用图床
我的博客采用的就是这种方式,感觉还是可以的,推荐一下目前使用过的两个图床
- 即刻图床:有对应的chrome插件,大家可以百度一下安装方式
- SM.MS :地址 免费的一个图床,还是不错的
node项目部署以及搭建nginx服务器相关推荐
- Node项目部署到阿里云服务器(ECS),以Nuxt.js服务端渲染项目为例
1.前言 最近打算业余时间搭个网站,选择的技术栈为node+mongodb+Nuxt.js(基于vue,用于创建服务端渲染 (SSR) 应用),以下不会教科书式讲解,只是提供整体思路.参考资料以及关键 ...
- 西安阿里云代理商:vue项目部署到阿里云服务器(windows)Nginx代理
西安阿里云代理商:聚搜云 是上海聚搜信息技术有限公司旗下品牌,坐落于魔都上海,服务于全球.2019年成为阿里云代理商生态合作伙伴.与阿里云代理商.腾讯云.西部数码.美橙互联.聚搜云,长期战略合作的计划 ...
- 如何将node项目部署到云服务器 从0开始详细步骤
前言 记录一下将node项目部署到云服务器的详细步骤 先确保自己的node后台能在本地服务器运行 一.购买云服务器以及配置 这里我用的腾讯云的轻量应用服务器 针对新用户首单这里有个一折链接(便宜的一年 ...
- vue/react/web前端项目部署到阿里云服务器_nginx_pm2流程及部署前的准备
前端开发完成的项目,不管是使用vue.react.或者是别的web项目,最终都是要部署到外网上,让用户可以通过域名来访问.这篇文章以一个 react 移动端的项目为例,讲怎样将自己本地的项目部署到阿里 ...
- 王者荣耀全栈项目部署到阿里云服务器笔记
王者荣耀全栈项目部署到阿里云服务器笔记 原创Charles_GX 最后发布于2020-03-27 01:27:00 阅读数 177 收藏 展开 王者荣耀全栈项目部署到阿里云服务器笔记 学习的项目来自 ...
- Node项目部署正常启动后不能访问的问题
Node项目部署正常启动后不能访问的问题 Node项目部署之后,发现访问不了,pm2 list也是正常的,vue项目都可以正常访问,就是请求后台nodejs的时候就报404. 原以为是pm2的问题,先 ...
- 将Web项目部署到华为云服务器的Linux的Tomcat中
将Web项目部署到阿里云服务器的Linux的Tomcat中 01_用SSH Secure Shell Client或Xshell 6这个Windows客户端工具,将在Windows中已经开发完毕的Ja ...
- 如何搭建nginx服务器?
本文介绍了如何在阿里云服务器上从零开始搭建nginx服务器.阿里云服务器(ECS)相信大家都不陌生,感兴趣的同学可以去购买,或到体验馆去体验(半个月有效期).至于如何注册.管理ECS这里就不详细介绍了 ...
- 记录第一次将Java web项目部署到阿里云服务器
目录 一 购买云服务器 二 本地主机连接服务器 1 使用管理终端连接 2 使用SSH工具连接 三 搭建开发环境 1 软件包 2 安装配置 JDK MySQL Tomcat 9 四 在服务器部署自己的项 ...
最新文章
- 推荐收藏 | 算法工程师常见面试问题及相关资料汇总
- 每日一皮:产品经理的黑化,你听过几个?
- 【Android 安全】DEX 加密 ( Application 替换 | 创建用户自定义 Application | 替换 ContextImpl 对象的 mOuterContext 成员 )
- 安卓点击图片跳转界面_安卓手机APP控制无线开关的电路方案设计(原理图+源码)...
- Document Builder: 如何将structure level的field加入到word document的table中
- linux文件编程(open、write、read、creat、lseek函数)
- 深入解析jQuery中的延时对象的概念
- 登录验证应该是进行在客户端还是服务器端_网站登录认证方式
- T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响!...
- LR运行负载测试场景-笔记
- 如何切换python2和python3 版本
- HDU 5265 pog loves szh II (二分查找)
- 计算机中的字体文件夹在哪,字体文件夹,教您怎么找字体文件夹
- 计算机专业线性代数教学大纲,线性代数(专业必修课)教学大纲(2018版)
- 在追寻梦想的路上,我们都一样
- Redis相关面试题
- EKT多链技术丨多链会形成新的中心化吗
- 基于BB方案,荣耀观影眼镜Vision Glass正式发布
- Linux安装MySQL(源码安装)
- 山西大同大学计算机分数线,山西大同大学录取分数线2021是多少分(附历年录取分数线)...
热门文章
- 交换机中的交换表的自学习
- 程序员的数学 第四章 数学归纳法
- 《Java高并发核心编程.卷2,多线程、锁、JMM、JUC、高并发设计模式》
- Java 如何实现int和char类型的比较
- 雨林木风服务器系统安装教程视频,雨林木风win10系统怎么安装.net3.5的方法教程...
- bartender二维码固定大小
- Android 出现Http 302跳转问题
- 美国留学ib课程和ap课程区别
- 测试用例的定义、内容以及设计方法——等价类划分法、边界值分析法等
- python配置opencv环境需要的whl资源下载链接