用nodejs 开启我们的服务 (这里采用KOA框架 和mongodb 数据库)关于里面的详细代码我就不说了,,没有基础的同学要去努力学习~~~~
一 、 全局安装koa-脚手架
1、新建项目目录,准备在哪里创建项目和写代码,就在哪里创建即可。
2、打开命令行窗口。安装koa-generator,安装命令为:
npm install -g koa-generator
3、使用koa-generator生成koa2项目,输入命令: (koa_demo为“项目名称”,即:项目文件夹)
koa2 koa_demo
备注: 我使用 ejs 模版,因此,生成koa2项目时,我一般输入命令:koa2 koa_demo -e --ejs
(这样,就把默认的jade 换成了 ejs 了)
4、创建项目成功之后进入koa_demo项目,然后进行安装koa2依赖就可以了
cd koa_demo && npm install
5、安装完成之后通过命令:npm start
启动项目,打开浏览器 http://localhost:3000/ 就能看到页面了。
备注:参数相关
在创建项目时,可以定制自己想要的东东,以下是参数:
-h --help
帮助
-V --version
版本号
-e --ejs
添加ejs模板引擎支持(默认是jade)
--hbs
添加hbs模板引擎支持(默认是hbs)
-H --hogan
添加hogan.js支持
-c --css <engine>
添加css样式 支持 less sass styus css(默认是css)
--git
(g小写) 添加 .gitignore
-f --force
force on non-empty directory
要是开启成功的话会显示
现在我们一就可以通过服务器来构建我们服务,,我们需要关心这一段代码
app.use(require('koa-static')(__dirname + '/public'))
如果我们需要向前台返回 静态资源 只需要将我们的项目目录放在public下,到时候访问对应html。
如果我们需要配置项目其他的api 就需要加载其他的模块 来配置对应的路由,发送不同的数据给前台
const router = require('koa-router')()
router.get('/', async (ctx, next) => {
await ctx.render('index', {
title: 'Hello Koa 2!'
})
})
router.get('/string', async (ctx, next) => {
ctx.body = 'koa2 string'
})
router.get('/json', async (ctx, next) => {
ctx.body = {
title: 'koa2 json'
}
})
module.exports = router
最后别忘了把对应路由加载到主线程里边。
现在 ,,我拖了一个html的静态资源放在自己的public 目录下项目结构如图所示
,然后去访问
http://localhost:3000/050/index.html
对应页面就可以成功的访问了。
这是在本地 如果实在服务器上呢??so easy 把同样的步骤在走一遍不就完了,
1、打开SLL 终端 打开对应的文件目录把整个项目拖到这个文件夹下,,注意,,如果你不想上传的很慢的话要把nodemoudles文件夹删除再上传 在服务器在npm 下载 。另一个我们要注意下端口占用的问题,常用的80 3000 8080端口一般都是抛给主要的服务,自己设置的端口要记得。
2.服务器环境安装node 和 npm 这种有很多方法,大家自行百度,这里说一种我认为最简单的,,通过node版本管理器来安装,
执行:
先安装node 版本管理器
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
之后需要激活nvm:
source ~/.nvm/nvm.sh
激活完成后,安装node
nvm install node
安装完成后,切换到该版本
nvm use node
执行完检查一下
[root@izdc17s57ufq8oz ~]# node -v
v10.9.0
[root@izdc17s57ufq8oz ~]# npm -v
6.2.0
说明安装成功。
现在 项目上传完成之后 我们执行
cd /usr/local/nodeproject
然后
npm install
安装所有依赖就可以在服务器上启动我们的项目。
理论上 我们的项目现在可以通过我们的公网ip + 端口访问 然而!!!!
问题就出在这里 电脑防火墙可不是吃素的 随随便便就进来了,,那还了得,,下载我们需要去阿里的服务器控制台
添加规则 http 协议 端口号打开 我们就可以通过公网ip+端口访问我们的服务了 我这里是tomcat服务器,
然而 在运行了node 之后 我们也可以访问了,,大功告成,,合上电脑 却发现 服务又挂了,,这是怎么回事???
原来在linux 每个session 是有生命周期的 当前session下开启的进程会随着session的关闭而被杀死。。我们需要在运行node **.js时 变为nohup 后台运行就行了 或者也可以把本次执行的命令变为一个常驻服务(类似于mysql),这里不再详述。
nohup npm start &
exit
ok???这样 就可以随时随地的访问远程电脑上的服务了。
最后 如果需要数据库,,还有我们大部分时候肯定不会主机命加端口访问,,这该怎么做!!!
欢迎关注下一篇博客~~~~