最近在学习微信小程序,github上找了一个项目。该项目server端是由nodejs+mongodb+nginx搭建,为了 让项目跑起来,尝试搭建server环境,遇到不少新手难题。记录下,希望能对他人有所帮助。
第一个坑是nginx搭建遇到的。没有了解过它,不明白它的作用然后晕了头。其实如果仅仅是跑起server进行本地访问,则完全不需要它。web本质,是监听端口数据并做出响应的一种交互。当你的web项目运行时,它对指定端口数据进行监听处理,并将处理结果反馈到请求端。nginx是请求远程服务器端的web服务时,请求被优化的方案。
第二个坑是nodejs 项目运行。npm install -g ;npm index.js;两步即可启动服务。在npm install -g 过程中遇到checkPermissions Missing write access问题,使用以下命令:npm config set prefix ‘xxx’, xxx为普通文件目录,比如文稿目录。该命令是修改npm global文件安装路径,以解决指定路径权限问题。
第三个坑 mongodb。创建数据库后,如果想使用 show dbs命令,显示刚刚创建的数据库,则必须创建数据库中写入数据,不然是不能出现的!!!坑了好久
nodjs + mongodb
koa2 web框架
monk mongodb框架
外加一句
微信云开发架起服务器端,好方便和简单
==============
本地 127.0.0.1:3000访问 接口没问题,结果配置到远程服务器,使用对应ip:3000访问,不能正常访问数据。
使用nginx配置下即可(不明白为什么必须使用nginx进行代理才可以正常访问)
server {
listen 80;
server_name xxx; #绑定的域名
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_http_version 1.1;
proxy_pass http://127.0.0.1:3000; #对应该的Nodejs程序端口
}
access_log /mnt/log/www/jakexin_access.log; #网站访问日志
}