nodejs服务器如何部署到云上
‘壹’ nodejs可以在云虚拟主机上用吗
不可以。绝大多数虚拟主机不支持nodejs。
如有需要可购买VPS,云主机。
‘贰’ 如何在Windows Azure上托管一个Node.js网站
1、首先你得会js,然后使用iframe装载原网页,再调用其中js2、js简单,写在网页里,用winform加载网页,nodejs比较复杂,首先你要让用户在windows上安装nodejs(我没试过),然后再调用nodejs环境,nodejs是linux下用来做服务器的,和windows程序不搭边。
‘叁’ nodejs怎么部署到服务器上
服务器推荐用nginx,配置简单,性能强悍。
nginx可以使用代理访问后端的Node.js应用服务器。
配置方法:
1)在配置文件http段内容添加后端服务器:
http {
#添加后端服务器,和nginx负载均衡配置一样
upstream nodejs {
server 127.0.0.1:8080;
}
...
}
2)给应用添加虚拟主机:
server {
listen 80;
server_nameIP
location / {
proxy_pass nodejs;#名字和前面的对应,将所有的请求转发给后端的node
}
access_log logs/nodejs.access.log main;#如果需要日志的话
}
推荐将静态文件如css、js和图片和应用服务器分开。
‘肆’ 如何通过输入域名访问部署在本机的nodejs服务器
通过输入域名访问部署在本机的nodejs服务器方法:
修改系统的hosts文件就可以了,比如(想用的域名为:myapp.com,前面加上www.):
node服务器的host为:localhost,端口(port):8080;
修改系统hosts文件,在末尾加一行代码:127.0.0.1 myapp.com,前面加上www. 然后保存。
在浏览器输入:myapp.com:8080,前面加上www. 即可访问(前提是项目node服务器正在运行,没运行会失败);
‘伍’ 怎么在阿里云服务器里使用nodejs环境
首次登录云服务器,要先进行用户设置。
用户设置
首先用passwd命令修改超级管理员root密码。
1
$ passwd
根据提示连续输入两次密码,很简单吧。
接着,要新建一个普通的管理账号并设置密码,用于日常的系统管理。
1
2
$ useradd user1
$ passwd user1
将用户添加进管理组,以便于统一管理管理员的权限。
1
$ usermod -a -G wheel user1
设置新用户的sudo权限。
1
$ visudo
执行visudo命令实际上编辑的是/etc/sudoers文件。 找到 root ALL=(ALL:ALL) ALL 这行,并下面添加一行
1
user1 ALL=(ALL:ALL) ALL保存退出,以后就可用用sudo命令执行管理操作了。
修改主机名
每台服务器都有自己的名字,一般web服务器会用网站的域名来做主机名。 [用户名@主机名 ~]$
1
2
$ hostname "www.chufa.la"
$ vi /etc/sysconfig/networkHOSTNAME=www.chufa.la
保存,并退出编辑,下次等登入服务器就能看到修改的主机名字了。
SSH配置
将ssh的端口22改掉,另外,禁止root通过ssh登录服务器,并允许新建的普通管理员登录。
1
$ vi /etc/ssh/sshd_config
找到 # Port 22 ,去掉#并将22修改为1025到65536 之间的没被用到的端口号。 找到下面一行,并去掉注释符。
1
# PermitRootLogin yes在配置文件里添加
1
AllowUsers user1
保存后,退出文件编辑。 重启sshd
1
$ service sshd restart
下次登录,就要用新设定的端口号登录了。
1
$ ssh user1@ip -p port
挂载数据盘
为数据盘建立交换分区和普通分区,并挂载到系统。 首先查看查看数据盘
1
$ fdisk -l
确认数据盘为 /dev/xvdb 接着,对数据盘进行分区操作,
1
$ fdisk -S 56 /dev/xvdb
输入m可以查看帮助。 这里直接键入n新建第一个扩展分区,接着输入p建立立基本分区,输入要建立的分区号1,起始簇保持默认,结束簇的位置输入 +2G (一般扩展分区的大小为内存的两倍)。 然后,重复上面的步骤,将剩下的分为数据盘,注意第二个分区的分区号为2。
格式化分区
1
2
$ mkswap /dev/xvdb1
$ mkfs.ext4 /dev/xvdb2
启用swap分区
1
$ swapon /dev/xvdb1
将数据盘的第二个分区,挂载到新建的 /data 目录。
1
$ mkdir /data
修改fstab文件,保证重启系统后自动挂载。
1
$ vi /etc/fstab
添加
1
2
/dev/xvdb1 swap swap defaults 0 0
/dev/xvdb2 /data ext4 defaults 0 0
保存文件,并退出编辑,下次启动系统就能自动挂载数据盘了。
执行挂载命令,可以立即看到挂载的硬盘。
1
$ mount -a
软件安装 Nginx Mongo Node
我习惯于多个node进程共享80端口,用nginx反向代理到不同的node服务上去。 安装nginx。 新建yum仓库配置文件。
1
$ vi /etc/yum.repos.d/nginx.repo
内容如下:
1
2
3
4
5
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1保存文件,并退出编辑。
执行.
1
$ yum install nginx安装mongodb
1
$ vi /etc/yum.repos.d/mongodb.repo
文件内容
1
2
3
4
5
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1保存文件,并退出编辑。
执行
1
$ yum install mongodb-org
安装Node和NPM
1
$ sudo yum install nodejs npm
至此,服务器环境就搭建好了。
‘陆’ nodejs怎么体现云计算
楼主可能没搞清楚云计算的概念
nodejs本身是一个基于v8引擎之上做的一套扩展
包含web服务器,IO,以及外围的npm打包工具等组成的一套工具(说实在的,没找到太好的形容词,所以用工具来替代,而且我自己在思考前端的过程中,语言我自己也是理解成工具,例如js和coffeescirpt和typescript的关系)
云计算就是富服务器穷客户端
以阿里云的可以分为云存储,云计算,和后续可能产生的图形引擎,云渲染等
就我所知的云存储,在应用层之下就有file system,虚拟机(用于管理硬件设备),硬件,安全策略
如果以node搭建云计算只能作为一个应用层,稍微抽象一下我的理解是
node 可以通过相应的协议通过radis,memcache等搭建一个分布式存储服务
node可以通过对存储服务的抽象读写,通过抽象model层来得到一个对象IO服务
node可以通过router,promise等特性进行业务逻辑的抽象
实现了框架部分就可以去实现具体的读写业务
‘柒’ 如何在阿里云虚拟机上部署nodejs
远程控制 Linux 类型的系统的服务器,比如 CentOS 系统的服务器,一般不像 Windows 服务器那样,使用图形界面的远程控制。我们需要使用命令行工具,远程连接到服务器,然后使用命令去控制服务器。Windows 用户可以使用 Putty ,Mac 用户可以使用系统自带的终端工具。
‘捌’ 如何在服务器上搭建nodejs
先确认下系统环境合不合要求
python -V(确认python版本大于2.6)
访问http://nodejs.org/download/下载需要的Node.js版本(wget
http://nodejs.org/dist/v0.10.26/node-v0.10.29.tar.gz )
解压 tar zxvf node-v0.10.26-linux-x64.tar.gz
进入目录 cd node-v0.10.26-linux-x64
./configure --prefix=/home/work/setups/node-v0.10.26
make
sudo make install
添加到系统环境 echo "export PATH=$PATH:/home/work/setups/node-v0.10.26/bin">>
~/.bash_profile
. ~/.bash_profile执行该文件更新$PATH变量
###安装Express
sudo npm install express
-gd g参数:把express安装到NodeJS的lib目录d参数:同时安装依赖模块包
sudo npm install forever -gd
(异常情况:
如果遇到npm 找不到的情况 确认sudo node -v是否找不到 找不到的话:需要added /usr/local/bin to secure_path in /etc/sudoers :
sudo visudo
把 Defaults secure_path =
/sbin:/bin:/usr/sbin:/usr/bin 这行 改为 Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin然后:x保存退出
如果遇到
npm ERR! Error: Hostname/IP doesn't match certificate's altnames
执行 npm config set strict-ssl false
如果遇到 npm ERR! registry error parsing json
npm cache clean
执行 npm config set registry http://registry.npmjs.eu/
)
###部署forever
$ npm install -g forever
启动
NODE_ENV=pro LANG='zh' /usr/local/bin/foreverstart-o
/home/work/log/node_out.log-e /home/work/log/node_err.log /home/work/webroot/index.js
NODE_ENV=pro 环境变量 pro为生产环境(程序中可以指定)
LANG 环境变量 指定默认语言
node_out.log 输出日志 注意路径别抄成我的了
node_err.log 错误日志
index.js 启动文件
‘玖’ 如何在大米云主机上部署nodejs服务
在大米云主机上部署nodejs服务方法详见:https://jingyan..com/article/597a064357d83a312a524343.html
‘拾’ Nodejs + MongnDB 怎样部署到云服务器
×
loading..
资讯
安全
论坛
下载
读书
程序开发
数据库
系统
网络
电子书
微信学院
站长学院
QQ
手机软件
考试
Linux|
Windows|
Dos命令行|
浏览器|
虚拟机|
其他|
首页 > 系统 > 其他 > 正文
阿里云部署Node.js服务器(Windows环境)
2015-04-20
0 个评论
来源:空気力学少女の诗
收藏
我要投稿
花了大半个月做的网站终于要上线了,周围的同学们很多都在使用阿里云的服务器,我也入手了一台。
考虑到自己不是很适应ubuntu的命令行界面,于是买了个windows的,上网搜了一下,似乎都是用linux来部署nodejs的,所以只能自己摸索着来,所幸的是nodejs本身就相当于web服务器,所以不需要apache之类的额外配置
一,配置环境
首先是要安装node环境,可以到官网上下载安装包,安装好之后进入目录安装express框架:
?
1
2
<code class="hljs lasso">npm install express -gd (全局安装)
npm install -g express-generator(安装generator)</code>
详情看这里: nodejs入门
二,部署网站
然后是把本地网站文件夹上传到服务器上,为了图省事我直接用邮箱附件发过去的==||
不用配置什么IIS服务器,也不用什么网站根目录,直接丢在桌面上进入目录使用命令:
?
1
<code class="hljs lasso"><code class="hljs cs">node root.js//自定义的主文件</code></code>
如果已经正确配置了nodejs,就可以正常运行了,就这么简单
打开chrome(阿里云自带IE,自己下了一个chrome),在地址栏输入
?
1
<code class="hljs lasso"><code class="hljs cs"><code class="hljs css">localhost:3000</code></code></code>
网站就开始运行啦
除此之外,还可以在本地浏览器输入
服务器ip:3000
就可以远程访问了~~~~
不需要什么网站根目录,也不需要什么www,htdocs文件夹,node就是这么好用
三,域名绑定
接下里似乎还有一个问题
输入IP和端口可以访问了,域名怎么搞??
主机宝可以帮我们绑定域名,IIS服务器也能帮我们绑定域名,但nodejs似乎在裸奔诶
网络了好久,似乎有个叫IISNode的东西但出于对IIS的天然恐惧pass掉。
后来才找到下面的方法:
使用nginx的反向代理绑定域名
下载好nginx的windows版本之后,打开conf文件夹,网上有一些关于linux下nginx的配置,说要打开inculde文件夹新建conf文件但windows版本的似乎没有啊~~~
解决方法:
打开nginx.conf,在http域里面,第一个server域下面添加如下内容:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<code class="hljs lasso"><code class="hljs cs"><code class="hljs css"><code class="hljs bash">upstream nodejs {
server 127.0.0.1:3000;
#server 127.0.0.1:3001;
keepalive 64;
}
server {
listen 80;
#xxx是你自己的域名
server_name www.xxx.com xxx.com;
# access_log ../logs/test.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_set_header Connection "";
proxy_pass http://nodejs;
}
}</code></code></code></code>
大致就是把外部的80端口访问转到本地的3000端口
详细信息请看下面:
Nginx反向代理Nodejs
这样就域名就绑定好了
除此之外,还要在域名服务商那里绑定ip,搞定之后,在浏览器输入域名就可以访问啦