这是我在前端学习之路上独立完成的第一个项目。以此作为记录。项目环境如下:部署时间:20200606-20200609(共19小时)本地环境:windows服务器:阿里云服务器ECS突发性能型,CentOS8.1;主要使用宝塔面板,包括SSH终端,不使用Xshell、Xftp前端工程:vue(v2.6)&vue-cli(v4.2)后端工程:node.js(v12.16.0,使用http模块&mongoose)+mongoDB(一)服务器准备及配置购买阿里云服务器ECS,最便宜的,赶上618,一年优惠91元,系统为CentOS,进入云服务器管理控制台,点击:“实例和图像”>“示例”。(一开始看不到例子,百度了解到需要在页面左上角选择地区,选择你购买的地区“华南1(深圳)”就可以看到了)关于在“示例”页面,点击:“更多”>“密码/密钥”>“重置实例密码”;密码设置完成后,点击:“更多”>“实例状态”>“重启”重启实例使设置生效在“实例”页面,点击:“远程连接”>“工作台”>填写系统用户名root和上一步安装“宝塔Linux面板”设置的实例密码,进入https://www.bt.cn/bbs/thread-...复制安装命令yuminstall-ywget&&wget-Oinstall.shhttp://download.bt.cn/install...&&shinstall。sh在打开的远程连接界面,粘贴安装命令,等待安装完成根据提示进入面板,需要配置安全组。在“实例”页面,点击:“更多”>“网络”和安全组”>“安全组配置”>“配置规则”>“手动添加”>设置端口范围:8888/8888,设置授权对象:0.0.0.0/0,访问安装界面给出的链接浏览器,输入给定的用户名和密码,即可进入“宝塔Linux面板”中的面板在“软件商店”界面下安装需要的软件并进行配置(第一次登录面板,面板推荐一些软件,选择“编译安装”,Pure-Ftpd和Nginx就安装好了)Nginx配置=>点击:“设置”>“配置修改”>进行如下修改(修改后需要重启Nginx)server{listen80;//端口,需要在安全组规则中开放该端口(80端口用于:ECS实例作为网站或Web应用服务器)server_name*********;//公网IP索引index.htmlindex.htmindex.php;根/www/wwwroot;//项目所在文件夹#error_page404/404.html;包括启用php。会议;location/api/{proxy_passhttp://127.0.0.1:3366/;//节点服务的域名和端口}}//把index.html放在wwwroot下,通过********(:80(可选)访问该页面pm2:Searchandinstallpm2mongoDB:SearchandinstallmongoDB.env.NODE_ENV==='production'?'./':'/',}在router/index.js中将模式更改为“hash”以更改axiosbaseURL,例如axios.defaults.baseURL="http://localhost:3366”,把localhost:3366改成云服务器的公网IP,在后面加上/api(同上Nginx配置位置),执行npmrunbuild命令上传到服务器。在宝塔面板,点击:“文件”>进入/www/wwwroot文件夹>放入dist文件压缩文件夹上传,解压重命名为reading。在浏览器中访问公网IP/阅读,就可以看到你的前端页面了。(3)后台项目在线node文件注意事项如果使用第三方模块,在文件中导入不能直接写模块名,需要加上/www/server/nvm/versions/node/v12.16.0/lib/node_modules/,以mongoose为例,就是constmongoose=require('/www/server/nvm/versions/node/v12.16.0/lib/node_modules/mongoose')在宝塔面板,点击:“文件》>进入/www/wwwroot/reading文件夹>新建文件夹server>将节点文件上传到宝塔中该文件夹下在面板中的“安全”界面下,释放节点服务端口,如本次使用的3366项目。在宝塔面板“软件商店”界面下,进行相关配置pm2配置=>点击:“设置”>“节点版本”:切换到本地开发版本v12.16.0“模块管理”:安装使用依赖mongoose“项目列表”:/www/wwwroot/reading/server/|www.js|reading_servermongoDB在宝塔面板的配置和操作“安全”界面,允许mongoDB默认端口27017权限(可以不设置,但有一定风险)创建管理员账号在宝塔面板的“文件”界面,打开终端,使用如下命令mongouseadmindb.createUser({user:'用户名',pwd:'用户密码',roles:['root']})db.auth('用户名','用户密码')//返回'1'表示验证成功创建普通账号使用自定义数据库名称db.createUser({user:'用户名',pwd:'用户密码',[{role:'readWrite',db:'自定义数据库name'}]})db.auth('username','Userpassword')使用mongoose连接数据库(不使用权限时)mongoose.connect('mongodb://127.0.0.1/databasename',{useNewUrlParser:true,useUnifiedTopology:true})(使用权限时)mongoose.connect('mongodb://username:userpassword@127.0.0.1:27017/数据库名称',{useNewUrlParser:true,useUnifiedTopology:true})或:mongoose.createConnection('mongodb://username:userpassword@127.0.0.1:27017/databasename',{useNewUrlParser:true,useUnifiedTopology:true})如果设置了权限,则在宝塔面板的“软件商店”界面下,点击MongoDB的“设置”>“配置文件”>进行如下修改security:authorization:enabled导入数据库文件(json或csv格式)到云服务器/www/wwwroot/reading/db文件夹下,打开终端,使用如下命令mongomongoimport-h主机名:端口-u用户名-p密码-d数据库名-c收藏名--file文件地址(eg:/www/wwwroot/reading/db/words.json)//主机名:端口默认为127.0.0.1:27017;username和password为权限设置中设置的用户名和密码;要导入的数据库和集合名称文件的数据库和集合名称;文件地址是要导入的文件的地址。到目前为止,你已经完成了!后记:这方面完全不懂,弄了半天,被404NotFound,502BadGateway伤的很重。进入完全不为人知的区域,要谨慎一些,要有一定的知识储备,否则很容易找北,进坑就爬不上去。
