缘由:客户服务器项目路径不是很合理,导致Jenkins自动部署时还需要添加路径后再更新部署,所以需要把项目路径统一和规范化。

  • 迁移项目路径,保证路径合规,同时做好备份和迁移。迁移后先安装好依赖。
  • 项目路径改了,nginx.conf root参数也要做相应的修改,更改为admin,ui等打包后的新的dist路径。同时将以前的启动端口修为7001,进一步规范化。
  • 项目MongoDB数据库名称也不是很合规,因此也需要将MongoDB相应进行备份/删除等操作。
一、先迁移项目路径并进行备份(由于需要规范化的文件夹已经存在。所以先将已有文件夹进行迁移备份):

1. 创建备份文件夹

mkdir backup

2. 迁移已存在的文件夹/文件内容

[root@xxx~]# mv codebot /usr/local/code

将路径 ~ 下的文件夹(目录) codebot 移动到/usr/local/中并命名为重命名为code,所以/usr/local/code文件夹(目录)可以不存在

[root@xxx ~]# mv codebot/* /usr/local/code

将路径 ~ 下的文件夹(目录) codebot 下的所有内容移动到/usr/local/code目录中,由于是直接移动code文件夹(目录)的内容,所以/usr/local/code文件夹(目录)必须需要存在

3. 创建规范化文件夹

mkdir codebot

4. 将现有项目目录下的所有文件内容和文件夹(目录)拷贝到新建的规范化文件夹

需要注意需求是将项目目录下的所有文件内容和文件夹(目录)都复制到新建的规范化文件夹,而不是将一个文件夹复制到另外一个文件夹中的业务场景;

这里需要使用到-R参数,表示递归处理,将项目目录下的所有文件与子目录一并递归处理;

这里我使用的星号来表示文件夹中的所有文件内容和文件夹(目录),等待一会就复制成功了;

在复制时,Linux会将*星号作为所有文件内容和文件夹(目录),有时候会报以下错误:cp: cannot stat `/xxx/xxx/*': No such file or directory,这里我没有遇到,不再赘述;

*号方式复制错误时也可以使用点(.)代表所有文件和文件夹进行递归复制。

[root@xxx ~]# cp -R /etc/codebot/* /home/codebot/

*号方式将路径/etc/codebot下的所有文件内容和文件夹(目录)复制到/home/codebot/路径中

[root@xxx ~]# cp -R /etc/codebot/. /home/codebot/

.号方式将路径/etc/codebot下的所有文件内容和文件夹(目录)复制到/home/codebot/路径中

二、备份目前项目MongoDB数据库及已存在的规范化数据库:

1. 进入服务器mongo数据库

mongo

2. 使用find命令查找服务器mongodb所在路径,这一步最主要是方便把备份的MongoDB数据库放置在这一路径下,方便后续查找

find / -name mongodb

从 / 根目录下查找文件夹名为 mongodb 的文件夹

当然后面跟上文件后缀即为查找文件,例如:find / -name nginx.conf 从 / 根目录下查找文件名为 nginx.conf 的文件

3. 使用mongodump命令进行数据库备份(默认没有数据库密码,直接备份,备份最后一层路径建议为日期时间+数据库名)

mongodump -h  127.0.0.1 --port  27017 -d xxxdatabase -o /xxx/xxx/20xx-x-xxdatabase

没有数据库密码备份:mongodump -h 数据库所在的ip(本地即为127.0.0.1) --port 端口号(默认为27017)-d 数据库名称 -o 导出路径

有数据库密码备份:mongodump -h 数据库所在的ip(本地即为127.0.0.1) --port 端口号(默认为27017) -u 用户名 -p 密码 -d 数据库名称 -o 导出路径

备份好的数据库为bson和json格式的文件,存储路径即为:/xxx/xxx/20xx-x-xxdatabase/xxxdatabase

4. 删除与标准化数据库重名的数据库,确保此前已经用mongodump进行了数据库备份

show dbs

先查看所有数据库

use xxxdatabase

切换到删除数据库 xxxdatabase

db.dropDatabase()

执行删除数据库命令

show dbs

再查看所有数据库,xxxdatabase已经被删除成功

5. 恢复备份数据库

mongorestore -d xxxtestdatabase /xxx/xxx/20xx-x-xxdatabase/xxxdatabase

mongorestore -d 想要导入的数据库名称 导出路径/数据库名(记住后面要加之前所备份的数据库的名字)

三、修改nginx.conf配置:

1. 使用whereis 命令查找nginx.conf所在路径

whereis nginx

查找文件夹(目录)名/文件为nginx的所在路径,我这里查到是在/etc/ngin/下,项目的nginx.conf则在/etc/ngin/conf.d下

1. vim修改nginx.conf server的root参数,修改路径为迁移后的项目dist路径

server {
listen 443;
server_name xxx.xxxx;
root /www/BUBG/codebotui/dist;
...省略

简单写一下server的参数,listen:监听端口;

server_name:监听地址,即为部署的域名;

root:服务器项目前端VUE工程打包好的dist绝对路径;

我这里项目是npm run build/npm run build:prod进行编译打包的,具体命令按照vue工程里package.json文件中scripts参数里的编译打包命令进行编译dist。

2. vim修改nginx.conf server的location 参数的proxy_pass的启动端口,统一修改7001,进行进一步规范化

 location /api/ {
proxy_pass http://127.0.0.1:7001;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
}
#
location /adi/ {
proxy_pass http://127.0.0.1:7001;
proxy_connect_timeout 300;
...省略

nginx.conf的参数和学习网上有很多教程和解释,这里不做过多赘述

3. 修改nginx后进行ngin.conf配置检查

nginx -t

这条命令也可以查看配置文件 nginx.conf 的路径

4. 检查ngin.conf配置正确后进行nginx重启

nginx -s reload
四、对服务器项目进行重启:

1. 停止

npm run stop

2. 启动

npm run start
大功告成,流程写详细是为了自己加深印象,如果能帮助到其他人也是更好的。

Linux服务器上迁移项目路径,修改nginx配置,迁移及备份MongoDB数据库流程 (超详细)!!!的更多相关文章

  1. linux服务器上部署项目,同时运行两个或多个tomcat

    在阿里云服务器上部署项目的时候,想使用阿里云提供的负载均衡服务并创建两个监听(如图), 但需要一台服务器提供两个端口,于是就请教前辈并查询资料,得知: 一台服务器提供两个端口,有两种方式: 1.一个t ...

  2. 如何查找Linux服务器上JDK安装路径?

    成功远程到你要部署软件的Linux服务器上.这是第一步. 查看JDK版本:java -version 查看java执行路径:which java 查看JAVA_HOME路径:echo $JAVA_HO ...

  3. linux服务器上的php代码通过nginx发布,解决pathinfo模式问题

    附件1为修改前的正常访问php配置文件      附件2为修改后的能通过url地址访问php项目的配置文件    具体操作网址 如下:www.itokit.com/2012/0308/73275.ht ...

  4. Linux服务器部署javaweb项目,从环境配置,到最终系统运行

    部署准备:javaJDK1.7,Tomcat7.0,MySQL5.8,可运行的javaWeb项目,linux环境的服务器(可以是安装在windows电脑上的linux虚拟机,安装了linux系统的电脑 ...

  5. 定时备份windows机器上的文件到linux服务器上的操作梳理(rsync)

    由于需要对网络设备做备份,备份文件是放到windows机器上的.现在需要将备份数据同步到linux备份机器上,想到的方案有三种: 1)将windows的备份目录共享出来,然后在linux服务器上进行挂 ...

  6. Django项目在Linux服务器上部署和躺过的坑

    引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...

  7. linux的tomcat服务器上部署项目的方法

    在tomcat服务器上部署项目的前提,是我们已经准备好了tomcat服务器.在CentOs环境下部署JavaWeb环境,部署tomcat服务器在前面的文章中已经总结过了,可以参考以前文章. 一  to ...

  8. Linux服务器上的禅道迁移及升级方法(Linux to Linux)

    由于阿里云服务器(Linux系统)到期停用,故需要将部署在该服务器上的禅道迁移到新的Linux服务器上.另外,借此机会,正好可以对旧版禅道进行一次升级.下面总结此次迁移和升级的具体操作方法. 一.禅道 ...

  9. linux服务器上nginx日志访问量统计命令

    linux服务器上nginx日志访问量统计命令 日志文件所在地方:/var/log/nginx/access_iqueendress.com.log/var/log/nginx/access_m.iq ...

  10. linux服务器上修改oracle数据库的字符集

    linux服务器上以dba身份进入:sqlplus / as sysdba; 依次执行以下命令:shutdown immediate; startup mount; alter system enab ...

随机推荐

  1. PHP

    * PHP语言1.基本内容 * PHP语言 - 类似于javascript语言的 * javascript是客户端(HTML)的脚本语言 * PHP是服务器端的脚本语言 * PHP文件的扩展名为&qu ...

  2. 初次接触json...

    这两天发现很多网站显示图片版块都用了瀑布流模式布局的:随着页面滚动条向下滚动,这种布局还会不断加载数据并附加至当前尾部.身为一个菜鸟级的程序员,而且以后可能会经常与网站打交道,我觉得我还是很有必要去尝 ...

  3. Linux常用的安全工具 转自https://yq.aliyun.com/articles/52540?spm=5176.100239.blogcont24250.8.CfBYE9

    摘要: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://chenguang.blog.51cto.com/350944/85790 ...

  4. 微信电脑版微信1.1 for Windows更新 可@人/转发撤回消息/可播小视频

    微信电脑版微信1.1 for Windows发布更新了,版本号为1.1.0.18,群聊可@人/可转发撤回消息/可播小视频,功能越来越接近微信手机版了. 本次更新的一些新特点: 群聊中可以@人. 消息可 ...

  5. NYOJ之茵茵的第一课

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtQAAAJ/CAIAAADXlNOKAAAgAElEQVR4nO3dsVLjOsMG4P8m6LkQ2u

  6. Linux安装JDK详细步骤

    Linux安装JDK步骤 1.先从网上下载jdk(jdk-7u1-linux-i586.rpm),下载地址:http://www.oracle.com/technetwork/java/javase/ ...

  7. hihocoder #1289 : 403 Forbidden (2016 微软编程笔试第二题)

    #1289 : 403 Forbidden 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi runs a web server. Sometimes ...

  8. 基础知识 mfc

    句柄 资源的标示  图标句柄(HICON) 光标句柄(HCURSOR) 窗口句柄(HWND) 类似于指针 wm_keydown表示键盘上的按键按下了数值 WPARAM ||LPARAM  两个整形数据 ...

  9. ZooKeeper的注意事项

    在ZooKeeper中存储的数据是以字节数组的形式存储的,当用Java程序处理数据时要注意. Ephemeral znodes并不会有child znode 只有parent-znode存在,才能创建 ...

  10. ONOS架构-系统组件

    系统组件 系统分层 App/core/providers 业务和子系统 一个业务service是有多个组件构成的功能单元,基于各层软件栈提供一个垂直的分片slice,将构成业务service的组件集合 ...