Nginx设置为Node.js的前端服务器方法总结


Posted in Javascript onMarch 27, 2019

1、安装node.js

首先安装node.js安装所需的软件包,并在启动板上添加可用的nodejs的PPA。之后使用以下命令安装nodejs。

$ sudo apt-get install python-software-properties python g++ make

$ sudo add-apt-repository ppa:chris-lea/node.js

$ sudo apt-get update

$ sudo apt-get install nodejs

2、安装nginx

现在使用apt get安装nginx web服务器。nginx在默认存储库下可用。

$ sudo apt-get install nginx

3、创建测试node服务器

现在创建一个测试node服务器应用程序,并在主机127.0.0.1的端口3000上运行它。要创建node服务器,请创建文件~/myapp/myapp.js。

$ cd ~/MyApp/

$ vi myapp.js

并在javascript文件中添加以下内容。

var http = require('http');

 

http.createServer(function (req, res) {

  res.writeHead(200, {'Content-Type': 'text/plain'});

  res.end('Hello Worldn');

}).listen(3000, "127.0.0.1");

console.log('Server running at http://127.0.0.1:3000/');

现在使用以下命令在后台启动nodejs

$ node myapp.js &

在浏览器中访问。

输出:Hello Word

4、配置NGNIX

使用node.js启动演示服务器后,现在开始使用Nginx进行配置。在/etc/nginx/conf.d/目录下为域创建虚拟主机配置文件。

$ sudo vim /etc/nginx/conf.d/example.com.conf

并添加以下内容。

upstream myapp {

  server 127.0.0.1:3000;

  keepalive 8;

}

 

# the nginx server instance

server {

  listen 0.0.0.0:80;

  server_name example.com www.example.com;

  access_log /var/log/nginx/example.com.log;

 

  location / {

   proxy_set_header X-Real-IP $remote_addr;

   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

   proxy_set_header Host $http_host;

   proxy_set_header X-NginX-Proxy true;

 

   proxy_pass http://myapp/;

   proxy_redirect off;

  }

 }

完成所有配置后,让我们使用以下命令重新启动nginx Web服务器。

$ sudo /etc/init.d/nginx restart

5、验证安装程序

现在使用域名访问你的服务器,你将在http://127.0.0.1:3000/上看到相同的页面。

输出为Hello Word

Javascript 相关文章推荐
JavaScript DOM学习第八章 表单错误提示
Feb 19 Javascript
读jQuery之八 包装事件对象
Jun 21 Javascript
js Dialog 去掉右上角的X关闭功能
Apr 23 Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
Aug 26 Javascript
jquery validate demo 基础
Oct 29 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
Dec 23 Javascript
JS简单实现自定义右键菜单实例
May 31 Javascript
以BootStrap Tab为例写一个前端组件
Jul 25 Javascript
shiro授权的实现原理
Sep 21 Javascript
Vuex的实战使用详解
Oct 31 Javascript
vue导航栏部分的动态渲染实例
Nov 01 Javascript
vue中el-input绑定键盘按键(按键修饰符)
Jul 22 Javascript
Node.js使用supervisor进行开发中调试的方法
Mar 26 #Javascript
详解vue在项目中使用百度地图
Mar 26 #Javascript
jQuery实现动态添加和删除input框实例代码
Mar 26 #jQuery
vue进入页面时滚动条始终在底部代码实例
Mar 26 #Javascript
详解原生JS动态添加和删除类
Mar 26 #Javascript
Vue项目部署的实现(阿里云+Nginx代理+PM2)
Mar 26 #Javascript
监听element-ui table滚动事件的方法
Mar 26 #Javascript
You might like
Zend Studio 无法启动的问题解决方法
2008/12/04 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
2014/06/12 PHP
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
2015/11/21 Javascript
jQuery实现为控件添加水印文字效果(附源码)
2015/12/02 Javascript
require、backbone等重构手机图片查看器
2016/11/17 Javascript
Angularjs 动态添加指令并绑定事件的方法
2017/04/13 Javascript
Jquery的Ajax技术使用方法
2019/01/21 jQuery
node 版本切换的实现
2020/02/02 Javascript
python thread 并发且顺序运行示例
2009/04/09 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
python使用电子邮件模块smtplib的方法
2016/08/28 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
Sanic框架请求与响应实例分析
2018/07/16 Python
python使用Matplotlib画饼图
2018/09/25 Python
详解重置Django migration的常见方式
2019/02/15 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
python中 _、__、__xx__()区别及使用场景
2020/06/30 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
2020/07/06 Python
碧欧泉Biotherm加拿大官方网站:法国高端护肤品牌
2019/10/18 全球购物
Bata印度官网:源自欧洲舒适鞋履品牌
2020/01/30 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
Static Nested Class 和 Inner Class的不同
2013/11/28 面试题
食品工程专业求职信
2014/06/15 职场文书
大学生在校表现评语
2014/12/31 职场文书
稽核岗位职责范本
2015/04/13 职场文书
行政处罚告知书
2015/07/01 职场文书
MySQL面试题讲解之如何设置Hash索引
2021/11/01 MySQL