vue项目要部署在服务器上,那么服务器需要安装node.js环境吗?
最好是安装一个。
1如果你仅仅是打包好的vue相机,那么要看服务端使用的是什么语言,如果是node的话,肯定要安装node环境的,但是如果不是node,那么就没有必要了。
2如果你想在服务端跑vue的项目,也就是在远程端做开发工作,那么肯定是要安装node的,毕竟vue开发环境需要node。
基本上服务端也就这两种需求,node包其实很小,安装一个也不费事,还可以方便开发,我觉得在远程端按一个最好。
跟你在本地开发是相同的。
2、上传代码到服务器(可以通过ftp、ssh、git等方式)
3、安装项目依赖的模块
npm install4、启动应用
当然,如果你深谙运维之道,可以直接通过docker等方案将运行环境容容器化。
基本的Linux运维知识的话可以参考linuxprobecom。
还有几个需要注意的点:
1、运行权限:注意做好应用之间的隔离(使用低权限用户、文件系统隔离等),避免应用崩溃导致系统宕机等风险
2、80端口:通过nginx等进行反向代理,应用本身占用1024后的端口(无需root权限)
一、NodeJS介绍:
NodeJS是一个让开发者可以快速创建网络应用的服务器端JavaScript平台,同时运用JavaScript进行前端与后端编程,开发者可以更专注于系统的设计以及保持其一致性。
在这篇文章中,我们将向您介绍如何在Ubuntu1404服务器上开始您的NodeJS神奇之旅。
二、如何安装发行稳定版的NodeJS
Ubuntu 1404为了保证跨平台服务体验的一致性,在它的仓库中默认包含了一个版本为01025的NodeJS,这个可能不是最新版本,但是却一定是标准发行版本。
要想获取这个版本的NodeJS,我们只要通过apt包管理工具来安装就可以。在安装之前,最好先更新一下apt包管理工具的本地索引,然后再从Ubuntu仓库中安装NodeJS。
sudo apt-get update
sudo apt-get install nodejs
如果Ubuntu软件仓库中的包正好是你所需要的,那么上述步骤就是在Ubuntu1004下安装NodeJS的全部操作过程。大多数情况下,我们还希望也安装一份NodeJS的包管理工具:npm,您可以通过以下命令安装:
sudo apt-get install npm
NPM将让使得安装NodeJS的模块或者源码包变得非常简单。
在您运行NodeJS的时候请一定要注意,因为与别的工具包相冲突的原因,Ubuntu仓库中可执行的名字是nodejs而不是node。
下面,我们将讨论NodeJS更多种灵活的安装方式。
三、如何通过PPA来安装NodeJS?
一个让你可以保持获得NodeJS最新版本的替代方案是加入由NodeSource维护的PPA(Personal Package Archive)私有包档案。这个方式可以让你获得比Ubuntu仓库更多的NodeJS版本。
首先:你得安装PPA以获得访问它内容的权限。
curl -sL https://debnodesourcecom/setup | sudo bash -
通过上面的命令,PPA将加入到您的系统配置中,并且自动的更新您的本地包缓存,安装完成之后,您可以像之前一样通过apt-get来安装NodeJS。
solo apt-get install nodejs
这里的nodejs安装包包含了nodejs二进制执行文件以及npm可执行文件,所以您无须另外安装npm,然而,为了使一些NPM包能正常工作(比如那些需要多源代码编译的包),你还需要安装build-essentials包。
sudo apt-get install build-essential
四、如何使用NVM来安装?
还有一种使用apt来安装NodeJS的替代方案是使用一个特别设计的工具叫NVM,它的标准叫法是NodeJS版本管理工具(Nodejs Version manager)。
使用NVM,您可以安装多个可方便控制的独立NodeJS环境,它将给您最新版本NodeJS的请求权限,但也将允许你根据APP的需要而使用旧版本的NodeJS。
在开始之前,我们需要从Ubuntu仓库中先安装一些依赖包,NVM将利用这些工具来编译需要的组件:
sudo apt-get update
sudo apt-get install build-essential libssl-dev
一旦这些依赖包安装完成,您可以通过NVM的GitHub项目主页将安装脚本下载下来。版本号可能不尽相同,但是正常来说你可以通过以下方式来下载和安装:
curl https://rawgithubusercontentcom/creationix/nvm/v0161/installsh | sh
上面的命令将下载并且运行安装脚本,安装脚本将把软件安装到你home目录的~/nvm目录下,同时也会在~/profile加入必要的配置。
为了使~/profile的配置生效,您可能需要退出并重新登录您的账户,当然,也可以通过source命令来重新导入~/profile的配置:
source ~/profile
现在你已经安装了NVM,你可以安装NodeJS的各个独立版本。为了找出当前的NodeJS可安装版本,你可以敲入以下命令:
nvm ls-remote
回车可能会显示如下内容:
v0116
v0117
v0118
v0119
v01110
v01111
v01112
v01113
如你所见,当前NodeJS的最新可安装版本是v01113,你可以通过如下命令安装这个版本的程序:
nvm install 01113
通常情况下,NVM会自动切换到最新安装的版本,你可以通过以下命令告诉NVM指定使用已经安装的版本:
nvm use 01113
当你使用NVM安装NodeJS,它的可执行名称是node,通过以下信不信你可以知道当前所使用的NodeJS版本:
node -v
显示:
v01113
如果你安装了多个版本的NodeJS,你可以通过以下命令列出已安装版本:
nvm ls
如果你想把其中一个版本设置为默认的版本,你可以这样:
nvm alias default 01113
现在当一个请求发生时,01113这个版本将自动被选择,您也可以通过这样的别名引用它:
nvm use default
每个版本都将保持其独立的模块和包,并且通过独立的NPM来管理它们,你可以使用NPM的普通模式来为NodeJS项目安装独立的第三方包,它将安装到NodeJS的/node_modules目录下:
npm install express
如果你想将第三方包安装成全局模式(将与其它使用同一个版本NodeJS的项目共用),那么通过使用-g参数就可以实现:
npm install -g express
这个时候包将安装到下面这个目录:
~/nvm/node_version/lib/node_modules/package_name
全局模式安装的包将只允许你在命令行下使用,如果你想在在本地项目中使用,你还需要将它连接进来:
npm link express
如果需要帮助,你可以通过以入命令获取帮助:
npm help
如你安装了Python,可以立马执行一个简单的命令,一个简便的开发服务器就完成了。
python -m SimpleHTTPServer
但是PHP,直到php54才支持类似的功能
$ php -S 0000:8000
PHP 540 Development Server started at Tue Aug 21 23:21:50 2012
Listening on 0000:8000
Document root is /home/tom
Press Ctrl-C to quit
php本身就可以架一个服务器,Nodejs也可以架一个服务器,那么就不用啥apache啦,nginx啦
基本思路就是Node开启一个服务器作为前台,监听80端口,类似Apache的角色,php开启一个服务器在后台运行。 Node服务将http请求转发给php服务器执行,执行完成后返回给node服务器,node服务器再返回给浏览器
Node承担的是一个中间的代理角色
var fs = require('fs'),
http = require('http'),
spawn = require('child_process')spawn,
phpserver;
phpserver = spawn('php',['-S','0000:8000']);
phpserverstdouton('data', function (data) {
consolelog('stdout: ' + data);
});
phpserverstderron('data', function (data) {
consolelog('stderr: ' + data);
});
phpserveron('exit', function (code) {
consolelog('child process exited with code ' + code);
});
processon('exit',function(){
phpserverkill('SIGHUP');
});
function handleRequest(request, response) {
var headers = {};
for(var x in requestheaders){
headers[x] = requestheaders[x];
}
headers['Content-Type']= 'application/x-www-form-urlencoded';
var proxy_request = httprequest({
host:'localhost',
port:8000,
method:requestmethod,
path:requesturl,
headers:headers
});
proxy_requeston('response', function (proxy_response) {
responsewriteHead(proxy_responsestatusCode,proxy_responseheaders);
proxy_responseon('data', function(chunk) {
responsewrite(new Buffer(chunk));
});
proxy_responseon('end', function() {
responseend();
});
});
requeston('data', function(chunk) {
proxy_requestwrite(new Buffer(chunk));
});
requeston('end', function() {
proxy_requestend();
});
}
httpcreateServer(handleRequest)listen(80);
保存上面的文件为serverjs然后在命令行里执行
node serverjs
一个node和php混搭的服务器就搭建成功了
由于自身特性的原因。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 appjs
重启应用 pm2 restart appjs
显示进程列表 pm2 list
停止某应用 pm2 stop app_name|app_id
停止所有应用 pm2 stop all
小白方案
个人目前用的是宝塔Linux面板,可以说是把Linux的各种操作都已比较简单的形式展现出来了,不需要什么Linux知识就能掌握 宝塔官网了解一下
而这其中内置了PM2管理,装一下就OK了
1安装nodejs服务(从官网下载安装),node相当于apache服务器
2在自己定义的目录下新建服务器文件如 serverjs
例如,我在E:\PhpProject\html5\websocket下创建了serverjs文件
var http = require('http');//引入http模块
//开启服务,监听8888端口
//端口号最好为6000以上
var server = httpcreateServer(function(req,res){
consolelog('有客户端连接');//创建连接成功显示在后台
时间有限。自己看
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var connect = require('connect')
var http = require('http')
var app = connect()
var multipart = require('connect-multiparty');
// parse urlencoded request bodies into reqbody
var bodyParser = require('body-parser')
appuse(bodyParserurlencoded())
appuse(multipart())
// respond to all requests
apppost('/upload', function(req, resp) {
consolelog(reqbody, reqfiles);
// don't forget to delete all reqfiles when done
});
//create node<a href="https://wwwbaiducom/swd=js&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3PAuWP1T4rH9-nyRzPADk0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1DvrH0YPWmsrjRdnWR3Pjn4rj6" target="_blank" class="baidu-highlight">js</a> http server and listen on port
httpcreateServer(app)listen(3000)
参考 : https://githubcom/senchalabs/connect
这次给大家带来怎样实现安装Nodejs并启动本地服务,实现安装Nodejs并启动本地服务的注意事项有哪些,下面就是实战案例,一起来看一下。
1、下载安装包:
下载地址:https://nodejsorg/en/download/,根据自己电脑的配置下载相应的windows64位安装包,下载完成后,进行安装。
2、检查是否安装成功
安装完成后,打开命令行窗口,检查是否安装成功,如下图所示,键入node -v出现nodejs的版本,键入npm -v出现npm的版本,说明两者均已安装成功。
3、配置环境变量
由于我的电脑之前安装过nodejs,所以需要检测一下是否配置了环境变量,打开命令行,输入命令“path”,输出结果中可以看到环境变量已经包含了E:\nodejs\
4、创建一个应用
在创建应用“Hello World”前,先了解一下nodejs应用由哪几部分组成:
引入required模块:我们可以使用 require 指令来载入 Nodejs 模块。
创建服务器:服务器可以监听客户端的请求。
接收请求与响应请求:服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。
下面开始创建nodejs应用:
(1)引入require模块
我们使用 require 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http,实例如下:
var http = require("http");(2)创建服务器
接下来我们使用httpcreatServer()方法创建服务器,并使用listen()方法绑定8080端口。函数通过request,response参数来接收和响应数据。实例如下:
var http = require('http');
httpcreateServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
responsewriteHead(200, {'Content-Type': 'text/plain'});
// 发送响应数据 "Hello World"
responseend('Hello World\n');
})listen(8080);
// 终端打印如下信息
consolelog('Server running at http://127001:8080/');使用node命令执行以上代码,结果如下图:
打开浏览器访问http://localhost:8080/,可以看到写着”Hello World”的网页,如下图:
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
怎样操作vue中$emit 与$on父子与兄弟组件通信
如何使用JS事件绑定、事件流模型
0条评论