linux启动php服务_群晖docker 实现nodejs为后端的简单web服务器 并连接数据库

前情摘要:虽然群晖有web station 作为开发简单网页的服务器首选,但是web station 里面最好用的技术栈还是基于LNMP或者LAMP的php开发环境。对于学习nodejs的同学可能丈二和尚,摸不着头脑,到底如何在web station上运行nodejs?可能并不能快速找到相关文档以供解决问题。

而群晖的docker套件正如改革春风,它是各种应用甚至系统的容器,生产力强大,能够安装各种软件和环境,并且可视化界面让我们无需懂得多少代码就能快速构建开发和运行所需环境,本文介绍一种简单的nodejs 运行方法和用docker构建简单的web服务器。

php 的后端大概可以有 LNMP或者LAMP,实际上包括系统linux,Nginx或Apache,数据库mysql或者mariaDB,和PHP开发语言。

而本次采用技术栈为前端容易理解的基于JavaScript的Nodejs (which 替代了PHP),使用json格式的mongoDB which 替代mysql,简单网页暂不需要Nginx和Apache,开发系统选用centos 开发版。

运行容器添加独立的mongoDB和centos.

mongoDB开放映射端口,比如默认27017;centos 映射内部端口80(或者其他)为32770(或其他);

这样就可以通过ip地址:端口的方式访问mongoDB 和 centos的web服务器了。

08bd759e0d9a732c3f4750199d6e2316.png

centos容器详情:

包括

  1. 映射端口和装载路径文件夹到群晖,
  2. 安装部署nodejs
  3. 拷贝代码并最后node app 运行相关代码。

第一步:

baef9438099d1e80c247e07931803248.png
映射端口

0b6dcb668b0304bd13dbb8a3972bfa1f.png
设置服务器存放文件夹

第二步centos下终端安装部署nodejs

b862524d298f1a8ad30b042887c1a837.png

nodejs的直接部署(终端命令)

首先安装 wget:

yum install -y wget

下载 nodejs 最新的 bin 包:

wget https:// nodejs.org/dist/v9.3.0/ node-v9.3.0-linux-x64.tar.xz

解压包

xz -d node-v9.3.0-linux-x64.tar.xz
tar -xf node-v9.3.0-linux-x64.tar

部署 bin 文件(让node 全局可用)

因为在根目录安装,路径为~/node-v9.3.0-linux-x64/bin。

ln -s ~/node-v9.3.0-linux-x64/bin/node /usr/bin/node
ln -s ~/node-v9.3.0-linux-x64/bin/npm /usr/bin/npm

测试

node -v
npm

输出版本号,则部署 OK:

ac48fc8e9dc039f8d13a63b106587097.png

在www中npm安装所需模块:

包括

3ce558273ecdca629ca731d2fa49ba05.png

npm init安装dependencies或者手动安装四个包

art-template作为页面分离和拼接字符串等的模板引擎,

mongoose 连接mongoDB数据库

router作为路由

serve-static访问照片、css等静态资源。

文件列表(简单模式)

cdc3ffe8e83ee1e9b7431865a415a6c8.png

model 设置数据库连接

public 存放静态资源

route设置路由

views存放art文件,即页面模块

app.js 引入模块和启动服务器。

编写好路由后,cd 到 www文件夹,node app 启动即可运行编写好的网页了。


PS:mongoDB可视化软件:compass

编辑器:vs code

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值