diff --git "a/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/13. \346\226\207\347\253\240\346\250\241\345\235\227 part3(\346\267\273\345\212\240\345\222\214\347\274\226\350\276\221\346\226\207\347\253\240)/\344\273\243\347\240\201/background-system2.zip" "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/13. \346\226\207\347\253\240\346\250\241\345\235\227 part3(\346\267\273\345\212\240\345\222\214\347\274\226\350\276\221\346\226\207\347\253\240)/\344\273\243\347\240\201/background-system2.zip" index 670588ed86a00f5cdff949b16048b97636417451..867ce24db92ae0ae52c290f4a3bdcdc8e5cea972 100644 Binary files "a/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/13. \346\226\207\347\253\240\346\250\241\345\235\227 part3(\346\267\273\345\212\240\345\222\214\347\274\226\350\276\221\346\226\207\347\253\240)/\344\273\243\347\240\201/background-system2.zip" and "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/13. \346\226\207\347\253\240\346\250\241\345\235\227 part3(\346\267\273\345\212\240\345\222\214\347\274\226\350\276\221\346\226\207\347\253\240)/\344\273\243\347\240\201/background-system2.zip" differ diff --git "a/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/14. \346\226\207\347\253\240\346\250\241\345\235\227 part4(\344\274\230\345\214\226\346\267\273\345\212\240\345\222\214\347\274\226\350\276\221\346\226\207\347\253\240)/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/14. \346\226\207\347\253\240\346\250\241\345\235\227 part4(\344\274\230\345\214\226\346\267\273\345\212\240\345\222\214\347\274\226\350\276\221\346\226\207\347\253\240)/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" index 0223af7766307916feaa8181c0944e1fbbafcaf0..f742c6584d45c36a043d74ef76522a288bad87ee 100644 Binary files "a/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/14. \346\226\207\347\253\240\346\250\241\345\235\227 part4(\344\274\230\345\214\226\346\267\273\345\212\240\345\222\214\347\274\226\350\276\221\346\226\207\347\253\240)/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" and "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/14. \346\226\207\347\253\240\346\250\241\345\235\227 part4(\344\274\230\345\214\226\346\267\273\345\212\240\345\222\214\347\274\226\350\276\221\346\226\207\347\253\240)/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" differ diff --git "a/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/15. \351\241\271\347\233\256\347\256\241\347\220\206\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/15. \351\241\271\347\233\256\347\256\241\347\220\206\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" index 7ca082201e6c3a24bebf44bb9dc9795195f71d57..602b4370bf50751c390f5db62e24c53668e46d25 100644 Binary files "a/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/15. \351\241\271\347\233\256\347\256\241\347\220\206\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" and "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/15. \351\241\271\347\233\256\347\256\241\347\220\206\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" differ diff --git "a/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/16. \350\257\204\350\256\272\347\256\241\347\220\206\345\222\214\347\225\231\350\250\200\346\235\277\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/16. \350\257\204\350\256\272\347\256\241\347\220\206\345\222\214\347\225\231\350\250\200\346\235\277\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" index 483a441e8711203749caf33f7d3896e69bf15432..6bca5bacde2c2f2c5c5febb71e29a6b75157474c 100644 Binary files "a/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/16. \350\257\204\350\256\272\347\256\241\347\220\206\345\222\214\347\225\231\350\250\200\346\235\277\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" and "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/16. \350\257\204\350\256\272\347\256\241\347\220\206\345\222\214\347\225\231\350\250\200\346\235\277\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" differ diff --git "a/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/17. \345\205\263\344\272\216\346\210\221\343\200\201\350\256\276\347\275\256\345\222\214\344\270\252\344\272\272\344\277\241\346\201\257\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/17. \345\205\263\344\272\216\346\210\221\343\200\201\350\256\276\347\275\256\345\222\214\344\270\252\344\272\272\344\277\241\346\201\257\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" index af3c00ffd0f0ac8c14233ce5dcfe792141b995de..7f5eef602c76650e98d15bbef8db6e2e746a4632 100644 Binary files "a/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/17. \345\205\263\344\272\216\346\210\221\343\200\201\350\256\276\347\275\256\345\222\214\344\270\252\344\272\272\344\277\241\346\201\257\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" and "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/17. \345\205\263\344\272\216\346\210\221\343\200\201\350\256\276\347\275\256\345\222\214\344\270\252\344\272\272\344\277\241\346\201\257\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/background-system2.zip" differ diff --git "a/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/17. \345\205\263\344\272\216\346\210\221\343\200\201\350\256\276\347\275\256\345\222\214\344\270\252\344\272\272\344\277\241\346\201\257\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/mysite-client2.zip" "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/17. \345\205\263\344\272\216\346\210\221\343\200\201\350\256\276\347\275\256\345\222\214\344\270\252\344\272\272\344\277\241\346\201\257\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/mysite-client2.zip" index 0aa2b8fd1dcbcd718bf4fd9966a5ed9c20f9174c..54002a4e74ae2c6389a90671c406c1c46cdf2a39 100644 Binary files "a/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/17. \345\205\263\344\272\216\346\210\221\343\200\201\350\256\276\347\275\256\345\222\214\344\270\252\344\272\272\344\277\241\346\201\257\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/mysite-client2.zip" and "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/17. \345\205\263\344\272\216\346\210\221\343\200\201\350\256\276\347\275\256\345\222\214\344\270\252\344\272\272\344\277\241\346\201\257\346\250\241\345\235\227/\350\257\276\345\240\202\344\273\243\347\240\201/mysite-client2.zip" differ diff --git "a/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/18. \351\241\271\347\233\256\351\203\250\347\275\262\345\210\260\351\230\277\351\207\214\344\272\221/\350\257\276\344\273\266/\346\225\260\346\215\256\347\232\204\345\257\274\345\205\245\344\270\216\345\244\207\344\273\275.pdf" "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/18. \351\241\271\347\233\256\351\203\250\347\275\262\345\210\260\351\230\277\351\207\214\344\272\221/\350\257\276\344\273\266/\346\225\260\346\215\256\347\232\204\345\257\274\345\205\245\344\270\216\345\244\207\344\273\275.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..3be5acf4ab6949409ae2dcb80b548b031349b9a4 Binary files /dev/null and "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/18. \351\241\271\347\233\256\351\203\250\347\275\262\345\210\260\351\230\277\351\207\214\344\272\221/\350\257\276\344\273\266/\346\225\260\346\215\256\347\232\204\345\257\274\345\205\245\344\270\216\345\244\207\344\273\275.pdf" differ diff --git "a/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/18. \351\241\271\347\233\256\351\203\250\347\275\262\345\210\260\351\230\277\351\207\214\344\272\221/\350\257\276\344\273\266/\351\241\271\347\233\256\351\203\250\347\275\262.md" "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/18. \351\241\271\347\233\256\351\203\250\347\275\262\345\210\260\351\230\277\351\207\214\344\272\221/\350\257\276\344\273\266/\351\241\271\347\233\256\351\203\250\347\275\262.md" new file mode 100644 index 0000000000000000000000000000000000000000..60f4640dfbc4a436ec2340746e5799c66c87e0f6 --- /dev/null +++ "b/09. vue\347\273\204\344\273\266\345\272\223\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230/18. \351\241\271\347\233\256\351\203\250\347\275\262\345\210\260\351\230\277\351\207\214\344\272\221/\350\257\276\344\273\266/\351\241\271\347\233\256\351\203\250\347\275\262.md" @@ -0,0 +1,615 @@ +# 项目部署 + + + +## 1. 项目部署介绍 + + + +当我们的项目开发完毕后,我们需要将项目打包、部署到服务器上,供用户来使用。 + + + +目前,常见的部署方式有两种: + + + +- 后端部署 +- 前后端分离部署 + + + +### 1-1 后端部署 + + + +这是最古老的部署方式,也是最常见的一种部署方式。 + + + +我们前端只需要将我们的项目打包好,交给后端开发人员即可。后端开发人员会把我们打包好的项目放到后端的静态资源目录里面。 + + + +![image-20210804210004590](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2021-08-04-130004.png) + + + +### 1-2 前后端分离部署 + + + +随着前后端分离开发模式的流行,现在可以采用前后端分离部署的形式。后端部署后端服务器的代码,前端将打包好的资源,部署到前端的服务器上面,用户在做请求的时候,从前端服务器请求静态资源,然后从后端服务器获取数据。 + + + +![image-20210804210409646](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2021-08-04-130410.png) + + + +目前前端部署静态资源时,大多采用 Node.js 或者 Nginx 来做静态资源部署,我们这里选择 Nginx。 + + + +## 2. 部署具体流程 + + + +### 2-1 阿里云购买服务器 + + + +首先,我们需要一台服务器,现在流行的云服务器极大的节约了我们部署成本,我们能够很轻松的快速拥有一台服务器。 + + + +阿里云:https://www.aliyun.com/ + + + +(1)注册账号 + +(2)选择“云服务器 ECS”,点击查看详情 + + + +![image-20210804232354218](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2021-08-04-152354.png) + + + +(3)立即购买 + +![image-20210804232443158](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2021-08-04-152443.png) + + + +(4)选择“一键购买” + +![image-20210804232530827](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2021-08-04-152531.png) + + + +镜像选择 CentOS。 + + + +进入到 Linux 系统后,使用命令来进行操作,先介绍几个命令: + + + +ls:查看当前目录下的文件有哪些 + +exit:退出系统 + +clear:清屏 + +touch:创建文件,例如 touch 文件名 + +mkdir:创建目录,例如 mkdir 目录名称 + +mv:移动目录或者文件,例如 mv 要移动的文件或者目录 要移动到哪儿 + +rm -rf 要删除的目录或者文件名:删除目录或者文件 + + + +本地连接云服务器:ssh -p 22 root@xxx.xxx.xxx.xxx + + + +具体的操作流程见视频。 + + + +### 2-2 安装 Node.js + + + +安装 Node.js:https://help.aliyun.com/document_detail/50775.html + + + +### 2-3 安装 MongoDB + + + +安装依赖库: + + + +`yum -y install pcre*` + +`yum -y install openssl*` + + + +安装 MongoDB: + + + +下载:`curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.2.1.tgz` + +解压:`tar zxvf mongodb-linux-x86_64-4.2.1.tgz` + +移动:`mv mongodb-linux-x86_64-4.2.1/ /usr/local/mongodb` + +创建数据文件夹、日志文件和mongo配置文件: + +```js +mkdir -p /usr/local/mongodb/data/db +touch /usr/local/mongodb/mongod.log +touch /usr/local/mongodb/mongodb.conf +``` + +在配置文件中加入如下代码: + +```js +dbpath=/usr/local/mongodb/data/db +logpath=/usr/local/mongodb/log/mongod.log +logappend = true +port = 27017 +fork = true +auth = true +``` + + + +切换到 mongodb 的 bin 下: + +![image-20210805093056262](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2021-08-05-013057.png) + + + +启动:`./mongod --dbpath /usr/local/mongodb/data/db` + + + +`mongod -dbpath=/usr/local/mongodb/data/db --bind_ip 0.0.0.0` + +指定所有的 *ip* 都可以连接上,当然现在只是暂时的,后面项目部署上去后,肯定是要关闭的。 + + + +可能遇到的错误以及解决方案: + + + +Segmentation fault (core dumped): + +https://blog.csdn.net/weixin_44320761/article/details/107671990 + + + +error while loading shared libraries: libssl.so.10,既libssl.so.10缺失库文件的解决办法: + +https://blog.csdn.net/xcyja/article/details/115357818 + + + +### 2-4 上传服务器代码以及数据库数据 + + + +导出数据库的数据,详细参见文档。 + + + +如果是 widnows 系统,参阅:https://www.runoob.com/mongodb/mongodb-mongodump-mongorestore.html + + + +接下来,我们需要将打包好的数据库数据压缩包以及服务器代码压缩包(删除 node_modules)上传到云服务器。 + + + +windows 系统:可以使用 finalshell(使用方法很简单,安装,连接服务器,将要上传的文件拖动到对应窗口即可) + + + +mac 系统:可以使用自带的 shell 工具。 + + + +打开 shell 工具,选择【新建远程连接】 + + + +image-20210805143549450 + + + +选择【安全文件传输(sftp)】,下面要填写用户名和对应的服务器的 ip 地址 + +image-20210805143631378 + + + +点击【连接】,如下: + + + +image-20210805143922456 + + + +使用命令:put 要上传的文件的地址 远程服务器的具体地址 + +例如:put /Users/Jie/Desktop/dbData.zip /usr/local + + + +解压 zip 压缩包命令:unzip 压缩包名 + +例如:unzip dbData.zip + + + +启动服务器:进入到服务器目录,安装依赖包,npm start 启动即可 + + + +### 2-5 安装 Nginx 静态资源服务器 + + + +(1)下载依赖 + +`yum -y install pcre*` + +`yum -y install openssl*` + +(2)下载 wget(类似于迅雷,用来下载文件的) + +`yum install wget` + +(3)下载 nginx + +`wget http://nginx.org/download/nginx-1.21.1.tar.gz` + +(4)解压 + +`tar zxvf nginx-1.21.1.tar.gz` + +(5)进入到解压后的目录,编译 + +`./configure` + +(6)安装 + +`make install` + + + +安装完毕后,会在同级目录生成一个 nginx 的目录,这个才是我们的服务器目录 + + + +nginx 常用命令: + + + +- nginx:启动 + +- nginx -v:查看版本 + +- nginx -s stop:停止 + +- nginx -s reload:重启 + + + +### 2-6 打包静态资源 + + + +打包前台代码: + + + +```js +npm run build +``` + + + +打包后台代码: + + + +```js +npm run build:prod +``` + + + +将打包好的前台代码放入 nginx 的 html 目录下,将打包好的后台代码放入到 nginx/html/admin 目录下 + + + +修改 nginx 的配置文件,该文件位于 conf 目录下的 nginx.conf,添加代理设置: + + + +```js +location / { + root html; + index index.html index.htm; + try_files $uri $uri/ /index.html; + } + +location /api { + proxy_pass http://127.0.0.1:7001; +} + +location /res { + proxy_pass http://127.0.0.1:7001; +} + +location /static { + proxy_pass http://127.0.0.1:7001; +} +``` + + + +### 2-7 进程守护 + + + +在 Linux 中,可以输入: + + + +```js +nohup command & +``` + + + +来把进程挂起,这样即使我们退出了远程连接,也能够继续保持进程。 + + + +使用示例: + + + +```js +nohup npm start & +``` + + + +挂起进程之后,使用 *exit* 命令来退出远程连接。 + + + +### 2-8 域名映射 + + + +目前为止,我们的项目就已经部署成功了,但是用 IP 访问不是太友好,所以我们来进行域名的映射。 + + + +首先,我们需要购买一个域名。 + + + +![image-20210805160701936](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2021-08-05-080702.png) + + + +购买完成后,点击【管理我的域名】 + +![image-20210805160958043](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2021-08-05-080958.png) + + + +进去之后,找到要映射的域名,点击【解析】 + +![image-20210805161048749](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2021-08-05-081049.png) + + + +进去之后,点击【添加记录】 + +![image-20210805161121894](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2021-08-05-081122.png) + + + +填写的内容如下: + + + +记录类型选择【A】,主机记录填写【www】,记录值填写【IP 地址】 + + + +image-20210805161215113 + + + +### 2-9 数据库加密 + + + +为了权限接入可用,必须确保有一个用户是 *userAdmin* 或者 *userAdminAnyDatabase* 的角色在 *admin* 数据库里。 +因此,我们首先创建用户 *root* 用户在 *admin* 数据库里,代码如下: + + + +```js +use admin # 切换 admin 数据库 +db.createUser({user:"root",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db: "admin"}]}) +``` + + + +具体操作如下图: + + + +![image-20210812093119060](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2021-08-12-013119.png) + +> 注:*db* 可以查看当前所使用的数据库 + + + +![image-20210812093151829](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2021-08-12-013151.png) + + + +接下来在其他数据库上面创建用户,但是一定要注意先在 *admin* 数据库上面使用刚才的超级管理员登录,再进行其他数据库用户创建的创建。 + +对应代码如下: + + + +```js +use amdin +db.auth("root","123456") +``` + + + +在 *mongodb* 中 *admin* 数据库是一个特别的数据库,这个数据库的用户,可以访问 *mongodb* 中的所有数据库。 + + + +如果要为其他数据库设置用户,步骤也是一样的,首先切换到其他数据库,然后创建用户 + + + +```js +use 数据库名 +db.createUser({user:"用户名",pwd:"密码",roles:[{role:"read",db: "数据库名"},{role:"readWrite",db:"数据库名"}]}) +``` + + + +![image-20210812093225943](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2021-08-12-013226.png) + + + +最后执行 + + + +```js + db.auth("用户名","密码") +``` + + + +![image-20210812093306323](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2021-08-12-013307.png) + + + +返回 *1*,说明登录成功。 + + + +至此,我们就在数据库上面添加了一个用户,并且设置了账号和密码。 + + + +修改 *mongodb* 的配置文件: + + + +```js +systemLog: + destination: file #日志输出方式。file/syslog,如果是file,需指定path,默认是输出到标准输出流中 + path: /usr/local/mongodb/mongod.log #日志路径 + logAppend: true #启动时,日志追加在已有日志文件内还是备份旧日志后,创建新文件记录日志, 默认false + +net: + port: 27017 #监听端口,默认27017 + bindIp: 0.0.0.0 #绑定监听的ip,设置为127.0.0.1时,只会监听本机 + maxIncomingConnections: 65536 #最大连接数,可接受的连接数还受限于操作系统配置的最大连接数 + wireObjectCheck: true #校验客户端的请求,防止错误的或无效BSON插入,多层文档嵌套的对象会有轻微性能影响,默认true + +processManagement: + fork: true # 后台运行 + +security: + authorization: enabled # enabled/disabled #开启客户端认证 + +storage: + dbPath: /usr/local/mongodb/data/db # 数据库地址 + journal: + enabled: true #启动journal,64位系统默认开启,32位默认关闭 +``` + + + +然后在启动 *mongodb* 的时候,指定读取配置文件: + + + +```js +./mongod --config /usr/local/mongodb/mongodb.conf +``` + + + +> 查看进程的 PID: +> +> lsof -i:端口号 +> +> 例如:lsof -i:27017 +> +> 停止进程 +> +> kill -9 PID +> +> 例如:kill -9 24311 + + + +远程数据库连接时,需要输入账号以及密码。 + + +接下来就是在你的服务器端代码里面,使用 *mongoose* 的时候,连接的是有权限的数据库,所以需要修改连接字符串: + + + +```js +连接字符串修改为:mongodb://username:password@ip:port/database?authSource=admin + +例如:mongodb://testadmin:testadmin123@88.888.88.888:27017/testmongodb?authSource=admin +# 参数说明 +# testadmin 用户名称 +# testadmin123 用户密码 +# 88.888.88.888 服务器地址 +# 27017 端口号码 +# testmongodb 连接的数据库 +# ?authSource=admin 权限来源 +# 至此,可以通过 mongoose 连接数据库 +``` + + + +-*EOF*- +