1.后台分享wallBlog项目部署启动过程。以下是部署需要的工具和环境:mac系统运行CentOS8.2服务器宝塔Linux面板管理运维项目Nodev14.15.1Npmv6.14.8PM2managerv5.2.0MongoDBv4.4.6Nginxv1.21.0wallBlog在线地址:http://www.rasblog.comGithub地址:https://github.com/Sujb-sus/wallBlog代码云地址:https://gitee.com/Sujb/wall-blog我这里只是大概介绍过程。具体的服务器部署介绍可以参考这个视频:https://www.bilibili.com/video/av70120365/2.服务器远程连接从阿里云购买了一台CentOS8.2服务器后,获取服务器的公网ip,可以在终端远程连接服务器:输入命令:sshroot@xx.xx.xx.xx(公网ip地址);输入服务器密码,可以在阿里云控制台重置密码;连接后,可以添加新用户,这样就不用一直用root用户登录了。1.adduserwall//添加用户名wall2,passwdwall//重置密码3,whereissudoers//查询sudo权限的路径4,chmod-vu+w/etc/sudoers//给这个路径下的sudoersaddread和写权限5.vim/etc/sudoers//编辑文件,在里面添加sudoers,在root下添加一行wallAll=(ALL)ALLAll=(ALL)ALL,vim文件就保存下来了。Linux基本命令:1.i//光标落地,可编辑文件2.Esc//光标离开,不能编辑3.:q//不保存退出文件4.:wq//保存并退出文件5.:wq!//强制保存退出文件3.替换阿里的yum源并更新1.备份你原来的镜像文件,这样出错后可以恢复。mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup2,下载新的CentOS-Base.repo到/etc/yum.repos.d/.我这边是CentOS8.2版本,所以对应下载的是阿里云的Centos-8.repo版本,根据服务器版本下载对应的repo版本。这是需要注意的。wget-O/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-8.repo3、运行yummakecache生成缓存。yummakecache4。查看系统的所有可用资源。启用yumrepolist5。更新百胜。yum-yupdate更新完yum后,就可以下载宝塔Linux面板了。注意:下载宝塔Linux面板需要干净的系统,否则无法下载。所以连接上服务器后,先更新yum,然后直接下载宝塔Linux面板,不要做任何不必要的事情。如果系统已经安装了其他东西,可以去阿里云重置系统,清空系统。4、下载宝塔Linux面板到宝塔官网https://www.bt.cn/bbs/thread-19376-1-1.html下载。连接服务器时,需要使用root用户进行连接,因为只有root用户才能下载;下载完成后,控制台会显示登录面板的账号、密码、访问路径,需要保存并用于登录;访问前需要到阿里云的网络安全组和防火墙,开放8888端口访问;访问路径:xx.xx.xx.xx:8888(公网ip地址+8888端口);输入账号密码登录,可在面板上重新设置账号、密码和访问路径。5、部署前端Vue项目将打包后的Vue项目资源放在宝塔中的文件目录下,路径自行定义;在宝塔软件商店下载Nginx;下载后可以配置vue文件资源指向和里面的ip地址。服务器{听80;服务器名称xx.xx.xx.xx;indexindex.htmlindex.htm;root/www/wwwroot/wall-blog/client;}这一步结束,前端项目部署成功,访问ip,出现页面。6、部署Node项目Node默认的端口是3000,所以要先去阿里云的网络安全组和防火墙放行3000端口;从Pagoda的软件商店下载PM2管理器和MongoDB。PM2管理器内置了Node.js+Npm+Nvm+PM2,无需另外下载Node。并且可以在PM2管理器中切换Node版本;MongoDB配置项BindIP修改为0.0.0.0,这样所有外网都可以访问;配置完成后,在宝塔内置终端访问mongo服务,新建数据库,导入数据等。注意:1、数据库名称可以自行修改,但需要与code/server/config.js文件同步;2、登录管理后台时,需要为数据库创建一个users集合,并注册一个账号才能登录;>mongo//打开mongo服务>showdbs//显示数据库列表>使用wallBlog//创建一个新的wallBlog数据库>db.createUser({user:"wall",pwd:"123456",roles:[{role:"readWrite",db:'wallBlog'}]})//在wallBlog数据库中创建一个wall用户,密码为123456>showusers//显示图书馆有哪些用户>db.auth("wall","123456");//用数据库验证用户,密码>db.users.insert({//插入一条数据到图书馆的users集合,帐号:admin密码:123456"pwd":"e10adc3949ba59abbe56e057f20f883e","username":"admin","roles":["admin"]})>showcollections//查询库下的集合(类似mysql表)>db.users.find()//查询库下的所有数据用户收藏在宝塔文件目录下添加Node项目资源,上传时去掉node模块。Node项目需要包含package.json、package-lock.json和.babelrc文件;前两个用于安装依赖,后者用于将ES6语法编译成CommonJs规范语法;安装好依赖后,可以打开pm2管理添加一个Node项目,让项目运行起来;在nginx中配置接口的反向代理服务器{location/client_api{proxy_passhttp://127.0.0.1:3000/client_api;proxy_set_header主机$host:$server_port;}}需要注意最重要的是:要加接口(client_api)前缀,否则所有的请求都会被匹配,包括前端的一些打包资源请求,会出问题。
