安装环境:
nginx
node
mongodb
把代码上传到服务器
1.rz 上传
2.使用github克隆
把依赖包下载
cd /home/wwwroot/vnshop/client
npm i
cd /home/wwwroot/vnshop/server
npm i
编译客户端代码
cd /home/wwwroot/vnshop/client
npm run build
添加虚拟主机,绑定域名,并且把域名访问的路径指定到 /home/wwwroot/vnshop/client/src/dist
启动server api服务
cd /home/wwwroot/vnshop/server
npm start
或者
node ./bin/www
测试api
域名:3000/url
配置反向代理
vim /usr/local/nginx/conf/vhost/vnshop.shudong.wang.conf
location /api/ {
proxy_pass http://127.0.0.1:3000/; # 当访问v1的时候默认转发到 3000端口
}
更改nginx配置之后要重启nginx服务
service nginx reload
原理 每次访问这个url 匹配到 /api/
http://vn.shudong.wang/api/go...
http://vn.shudong.wang/api/ -> http://127.0.0.1:3000/
http://127.0.0.1:3000/goods/list?sort=1&priceLevel=all&page=1&pagesize=8
如果没有做反向代理,直接访问
http://vn.shudong.wang/api/go...
会发生404 not found
详细配置请看
https://segmentfault.com/a/11...
3000端口不能访问
检查 3000 端口是否启动
检查方法
netstat -anp | grep 3000
检查结果
如果什么也没有输出
3000端口没有启动
如果3000端口启动了,还是不能访问
如果是阿里云的话,检查安全组策略
跨域
查看控制台请求的api,域名是否和你的保持一致
如果不一致,你复制我的代码,请去
vnshop/client/config/api.config.js
把里面的域名改成你的
记住一定要 编译
npm run build
然后再访问看请求的api 是否是和你访问的域名保持一致
就是浏览器输入的域名 和你 请求的api域名是一样的
如果改成一样了后,会发生404 说明了,没有这个api,这时候,需要你配置反向代理
mongodb 客户端不能连接远程数据库
查看数据库的端口是否启动
如果你的数据库端口是27017
netstat -anp | grep 27017
上面重点花圈的ip绑定 如果是 0 0.0.0.0:27017 四个0 有这个绑定就可以任意一个远程或本地连接
如果这是127.0.0.1 只能内网连接,不能远程连接
如果没有启动
service mongod start
启动后,一定要检查是否启动成功
然后测试是否启动成功
netstat -anp | grep 27017
使用mongo 输入
mongo
可以进入 mongo shell ,说明服务器上的mongodb 可以使用
检查是否开启远程
3000端口被占用
如果是pm2启动的话 杀不掉 ,kill 掉后,就会自动开启一个进程
使用
pm2 status
pm2 stop name
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。