本文档为微信小程序商城NideShop项目的安装部署教程(GitHub),欢迎star
一、购买新浪云SAE
为什么选择SAE? 免费二级域名和支持https访问,不用备案,可用于做微信小程序服务器。
SAE推荐链接:/
选择对应的部署环境
自定义 -> 开发言语:自定义 -> 运行环境:云容器 -> 语言版本:自定义 -> 部署方式:手工部署 -> 环境配置:选择第一项(测试选最低配置即可) -> 实例个数:1(测试用选择1个即可) -> 二级域名:填写你的域名(这里为:) -> 应用名称:填写你的名称(tumobi)
文中出现的地方,请替换为你配置的二级域名
选择部署环境
二、通过SSH连接云容器
windows下的配置教程:/home/index/faq_detail/doc_id/173.html
三、安装配置nginx
aptupdate-yaptupgrade-yaptinstallnginxcurlvim-yservicenginxstartcurllocalhost
此时发现在外网并不能访问/,错误返回
502 Bad Gateway
这个错误官方文档有说明:/doc/sae/docker/vm-getting-started.html
解决方法:更改nginx默认监听的端口80为5050,并重新启动nginx
vim/etc/nginx/sites-available/defaultnginx-tservicenginxrestart
此处输入图片的描述
再次访问/,成功返回
Welcome to nginx!
四、通过nvm安装node.js
安装nvm
/creationix/nvm
curl-o-/creationix/nvm/v0.33.2/install.sh|bash
nvm安装成功后,关闭当前终端,重新连接
查看最新版本的Node.js并安装
nvmls-remoteNVM_NODEJS_ORG_MIRROR=/mirrors/nodenvminstallv8.1.4node-v
五、配置共享型MySQL并导入数据
创建MySQL成功后,选择管理操作,进入到phpmyadmin页面,选项导入
选择nideshop项目根目录下的nideshop.sql文件
六、本地部署NideShop
下载NideShop的源码
aptinstallgit-ycd/var/wwwgitclone/tumobi/nideshop
安装ThinkJS
npminstallthinkjs@2-g--registry=https://registry.--verbosethinkjs--version
安装依赖
cd/var/www/nideshopnpminstall--registry=https://registry.--verbose
配置mysql
vimsrc/common/config/db.js
修改后:
QQ截图0715125320.png
启动:
npmstartcurllocalhost:8360
Node.js连接MySQL参考文档:/doc/sae/docker/howto-use-mysql.html#nodejs
通过nginx、pm2进行线上部署
编译项目
npmruncompile
修改nginx配置
/etc/nginx/sites-available/default修改后
server{listen5050default_server;;#注意:修改成你的域名root/var/www/nideshop;set$node_port8360;indexindex.jsindex.htmlindex.htm;if(-f$request_filename/index.html){rewrite(.*)$1/index.htmlbreak;}if(!-f$request_filename){rewrite(.*)/index.js;}location=/index.js{proxy_http_version1.1;proxy_set_headerConnection"";proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_headerHost$http_host;proxy_set_headerX-NginX-Proxytrue;proxy_set_headerUpgrade$http_upgrade;proxy_set_headerConnection"upgrade";proxy_passhttp://127.0.0.1:$node_port$request_uri;proxy_redirectoff;}location=/production.js{denyall;}location=/testing.js{denyall;}location~/static/{etagon;expiresmax;}}
测试通过nginx访问
启动服务
nodewww/production.js
外网通过浏览器访问:/
安装配置pm2
npminstall-gpm2
修改项目根目录下的pm2.json为:
{"apps":[{"name":"nideshop","script":"www/production.js","cwd":"/var/www/nideshop","exec_mode":"cluster","instances":1,"max_memory_restart":"256M","autorestart":true,"node_args":[],"args":[],"env":{}}]}
启动pm2
pm2startOrReloadpm2.json
参考文档:ThinkJS线上部署文档:/zh-cn/doc/2.2/deploy.html
修改NideShop微信小程序的配置
config/api.js
var NewApiRootUrl = '/api/';