1、如何在服务器上搭建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 启动文件
2、如何在 apache 服务器上部署 nodejs 应用
tomcat你知道吗?假设用java开发,生产环境的发布过程,先编译java的代码,然后打包放到tomcat容器中,最后启动tomcat这就是发布了。
nodejs需要通过npm install安装需要的mole依赖,假设你的应用入口是app.js,那么运行node app.js就是启动了nodejs。
一般在生产环境上还要监控nodejs的状态,如果挂了自动重启,nodejs的特点就是容易挂,重启非常快。
3、如何通过输入域名访问部署在本机的nodejs服务器
通过输入域名来访问部署在本机的自nodejs服务器方法:
修改系统的hosts文件就可以了,比如(想用的域名为:myapp.com,前面加上www.):
node服务器的host为:localhost,端口(port):8080;
修改系统hosts文件,在末尾加一行代码:127.0.0.1 myapp.com,前面加上www. 然后保存。
在浏览器输入:myapp.com:8080,前面加上www. 即可访问(前提是项目node服务器正在运行,没运行会失败);
4、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和图片和应用服务器分开。
5、nodejs 如何部署到服务器上?
两点:第一是否是线上服务,第二是否需要守护进程;
第一点,如果是线上服务,毫无疑问需要一个守护进程来保证,发生意外导致进程退出后,能重新启动,提供服务;当然就需要pm2等守护进程来启动,使用方法请自行参照github;第二点,是否需要守护进程,如果不需要,那么直接node启动即可;如果需要,也不必担心pm2启动进程后并不会抢占服务器资源,如果你的server有很大的需求,毋庸置疑需要更多的内存和cpu,如果没有很大需求,pm2会基于linux的资源调度策略,并不会抢占;
6、如何在生产服务器上部署 Node.js 应用
服务器推荐用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和图片和应用服务器分开。
7、服务器部署nodejs的几种方法
由于自身特性的原因。node程序必须保持开启才能访问网站,而当我们关闭SSH时这些进程都会被停止。有以下3种方法可以避免这个问题。
screen
Screen,虚拟终端管理器。可以在后台管理终端界面,防止SSH断开以后任务停止运行。
安装方法:
sudo apt-get screen (以ubuntu为例)
使用方法:
使用screen -S [任意id]命令进入一个名为id的终端,此时便可以随意执行操作
例如执行sudo apt-get upgrade,或者其它消耗时间比较长的工作,像编译内核等等。
按ctrl+a后再按d保存虚拟终端,系统提示deatached即为保存成功
接下来可以断开SSH终端,虚拟终端仍会执行。
访问已经创建好的终端
screen -ls 列出已经创建的正在后台运行的终端
screen -r xxx 进入终端
例如 screen -r terminal1
彻底退出
screen -r 进入终端后执行exit即可完全退出
PM2
pm2 是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着
安装方法
npm install -g pm2
使用方法
启动应用 pm2 start -watch app.js
重启应用 pm2 restart app.js
显示进程列表 pm2 list
停止某应用 pm2 stop app_name|app_id
停止所有应用 pm2 stop all
小白方案
个人目前用的是宝塔Linux面板,可以说是把Linux的各种操作都已比较简单的形式展现出来了,不需要什么Linux知识就能掌握 宝塔官网了解一下
而这其中内置了PM2管理,装一下就OK了
8、阿里云服务器怎么部署nodejs
小鸟云服务器来niaoyun实例创建好之后源,您可以使用以下任意一种方式登录服务器:
远程桌面连接(,MSTSC):采用这种方式登录,请确保实例能访问公网。如果在创建实例时没有购买带宽,则不能使用远程桌面连接。
管理终端VNC:无论您在创建实例时是否购买了带宽,只要您本地有网页浏览器,都可以通过管理控制台的管理终端登录实例。
使用远程桌面连接(MSTSC)登录实例
打开开始菜单>远程桌面连接,或在开始菜单>搜索中输入mstsc。也可以使用快捷键Win+R来启动运行窗口,输入mstsc后回车启动远程桌面连接。
在远程桌面连接对话框中,输入实例的公网IP地址。单击显示选项。
输入用户名,如小鸟云默认为niaoyun。单击允许我保存凭据,然后单击连接。这样以后登录就不需要手动输入密码了。
9、如何通过输入域名访问部署在本机的nodejs服务器
通过复输入域名访问部制署在本机的nodejs服务器方法:
修改系统的hosts文件就可以了,比如(想用的域名为:myapp.com,前面加上www.):
node服务器的host为:localhost,端口(port):8080;
修改系统hosts文件,在末尾加一行代码:127.0.0.1 myapp.com,前面加上www. 然后保存。
在浏览器输入:myapp.com:8080,前面加上www. 即可访问(前提是项目node服务器正在运行,没运行会失败);
10、用nodejs做项目,要部署在客户服务器,怎么能防止js代码泄漏?
用这个,专业做JS代码加密的,可以用于nodejs代码保护:JShaman
可以在线使用,在线加密,非常好用。
JShaman = JS + Shaman,即:JS萨满。
在传统的世界观,或游戏概念中。萨满巫师具有治愈、辅助、守护的含意。
“JS萨满”的寓意是:治愈JS代码公开透明的缺陷、辅助JS开发、守护JS产品。