最近入手了一款最便宜的腾讯云服务器,主要用来部署自己的个人博客以及学习一些linux知识,从而全方面了解掌握web技术。强烈建议前端人员拥有一个属于自己的服务器。在写此文章之前,我的云服务器已经安装好Mysql以及node, nginx等。下面以部署node网站为例,讲解几个常见的场景

  1. 线程持久运行

一般来说,我们在window cmd上通过node index.js启动一个服务器,只要不关闭,就可以一直访问和调用接口。但是在linux上往往如果长时间不操作或者你要执行其他操作时候,你的node服务就会断开,用户也不能访问你的网站了。怎么办?我们可以安装forever模块来解决。

npm install forever -g // 全局安装forever模块
复制代码

由原先的启动方式node index.js 改为 forever start index.js即可,下面列出几个常见命令

forever list // 列出当前所有运行的服务
forever start -w index.js // 文件改动自动重启
forever stopall // 停止所有服务
forever stop app.js  //停止其中一个node App
forever stop [id]  // forever list 找到对应的id,然后
复制代码

当然还有许多命令,可以查阅相关模块。一般来说最简单的使用方式就是:

forever start index.js
复制代码

这样即使我们切换到其他linux路径时或者退出时,node服务还是存在的,即别人还是可以访问你的网站啦。

  1. 配置nginx

nginx是一个由俄罗斯人开发的反向代理服务器,如今已经被全世界许多公司所使用。关于nginx的介绍以及安装可以自己查阅资料或者到菜鸟教程快速学习一下。这里我的linux已经安装好了nginx了.
下面我要使用nginx来代理刚刚forever start index.js启动的http://localhost:8089了,即通过我的域名来访问http://localhost:8089 这个网站了. 查看nginx配置文件路径

find / -name nginx.conf
复制代码

切换到里面进入修改里面配置

 server {listen       80; # 监听端口 直接配置80即可server_name hellocode.xyz; # 输入域名会跳转到 http://localhost:8089include /etc/nginx/default.d/*.conf;location / {proxy_pass http://118.89.33.75:8089;  # 你的node网站应用}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}
}复制代码

退出检查配置是否正确

nginx -t
复制代码

重新加载nginx

nginx -s reload
复制代码

打开浏览器 输入网址即可以访问网站啦 !

在访问过程之中可能会遇到跨域问题,那么就需要node端设置支持跨域,以express框架来说,index.js中自定义一个中间件

var allowCors = function(req, res, next) {res.header('Access-Control-Allow-Origin', req.headers.origin);res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');res.header('Access-Control-Allow-Headers', 'Content-Type');res.header('Access-Control-Allow-Credentials','true');next();
};
app.use(allowCors);//使用跨域中间件
复制代码

关于跨域问题,后面的博客会有详细讲解!

Forever +nginx部署Node站点相关推荐

  1. node配置ssl证书_在Linux服务器上部署node项目(git部署,forever持续运行,配置SSL证书)...

    一.环境部署 1.下载安装包: wget https://nodejs.org/dist/v9.9.0/node-v9.9.0-linux-x64.tar.xz 2.解压并进入目录: xz -d no ...

  2. tomcat 如何跳转到apache_第二十期:基于tomcat部署jforum站点,并结合nginx实现动静分离...

    一.  基于tomcat部署站点,并nginx实现动静分离 1.1  Tomcat部署 1.1.1  配置jdk #二进制安装 #解压 [root@node2local]# tar -xzvf jdk ...

  3. django+nginx+uwsgi部署web站点

    环境: django:1.8.16 python:2.7.13 pip:2.7 uwsgi:2.0.15 project路径: /opt/cmdb/ Uwsgi的安装配置 1.安装python2.7 ...

  4. 深入浅析nginx部署及简单优化

    Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.本文重点给大家介绍nginx部署及简单优化方案,感兴趣的朋友一起看看吧 Nginx是lgor Sysoev为俄 ...

  5. 阿里云nginx服务器多站点的配置

    Fighting! 欲戴皇冠,必承其重! 目录视图 摘要视图 订阅 [活动]Python创意编程活动开始啦!!!    CSDN日报20170426 --<四无年轻人如何逆袭>    [C ...

  6. nginx部署vue项目加载资源慢优化方案

    目录 1.问题 2.解决方案推荐gzip压缩解压 2.1 vue项目的配置文件中加如下配置 2.3 nginx服务器配置 1.问题 当我采用nginx部署了vue的项目后发现第一次访问网站需要1分左右 ...

  7. Ubuntu配置Nginx部署Vue SPA项目

    Ubuntu配置Nginx部署Vue SPA项目 文章记录了部署Vue SPA项目后可从ip访问的过程,因域名访问需要备案暂未尝试,后续若实行亦会更新在此处. 系统为Ubuntu18.04. Ngin ...

  8. Vite(三)部署静态站点(wordpress与hugo与Vercel、CI/CD、Travis CI、GitLab CI)、环境变量与模式、服务端渲染(SSR)

    Vite(三)部署静态站点(wordpress与hugo与Vercel.CI/CD.Travis CI.GitLab CI).环境变量与模式.服务端渲染(SSR) 文章目录 Vite(三)部署静态站点 ...

  9. Nginx部署单页面应用如何进行配置

    Nginx部署单页面应用如何进行配置 在前后分离的项目中,通常部署的时候也会分开部署,这样便于管理.前端项目一般使用angular,vue或者react来编写,使用build命名来编译,编译之后就是只 ...

最新文章

  1. MATLAB中的字符串处理
  2. myclipes 配置php,myclipse使用技巧
  3. 还服务器网站被k,导致网站被K的主要原因,看看你有没有中招!
  4. yii2 AR打印sql语句
  5. Java程序设计基础陈国军版第五版第三章习题答案与解析
  6. CDN是什么?CDN的工作原理?使用CDN有什么优势?
  7. 烽火交换机S2000单独划分VLAN的方法
  8. MySQL联合主键解释
  9. 【云原生】还不会使用linux?快看这里,在window快速安装centos系统
  10. 修复ASUS in WinRE教程
  11. 大数据最佳实践-flink
  12. VS软件评估期已过不能使用的解决方法
  13. Delphi 2009发布
  14. 秋招C++开发学习之路day30
  15. Node.js躬行记(18)——半吊子的可视化搭建系统
  16. linux英文字典,linux终端下的英文字典--SDCV(转)
  17. 基于PHP+MySQL的旅游景点网站的设计与开发
  18. List of devices attached解决方案
  19. jsp超市会员积分管理系统
  20. 基于PHP+MySQL简历模板下载管理系统

热门文章

  1. Java BitSet使用场景和示例
  2. 推荐个所见即所得的编辑器
  3. 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】
  4. jchdl - RTL实例 - And
  5. hadoop + spark+ hive 集群搭建(apache版本)
  6. 延迟加载算法微服务的模型
  7. nginx防止跨站 lnmp多站点安全设置之一
  8. visual studio的试用版评估期已结束 解决办法
  9. MSSQL中的随机函数
  10. 恢复“资源管理器”右键弹出菜单中的“新建”“文本文件”。