手动打包方式
请根据以下指导打包源成分包,防止数据、配置、日志文件在安装包外导致丢失。

- 仅支持源码编译的Nginx,且二进制在“Nginx安装路径/sbin”目录下。
- 手动添加迁移场景不支持通过RPM包安装的Nginx迁移。如需迁移,请使用虚拟机镜像迁移场景或手动进行迁移。
需要迁移的文件
- 源Nginx的安装目录(该目录下通常包括conf、html、logs、sbin)
- 编译Nginx时,编译参数指定的路径
- 启动Nginx的配置文件,包括nginx -c指定的配置文件
- 配置文件中引用的其他文件或目录、静态文件
操作步骤
- 在sbin目录下创建source_related目录,用于存放安装目录外依赖的静态文件、其他配置文件或目录。
1 2 3 4
mkdir -p /home/nginx_mig_tmp cp -rp 源Nginx安装目录绝对路径 /home/nginx_mig_tmp cd /home/nginx_mig_tmp/源Nginx安装目录/sbin mkdir source_related
以Nginx安装目录为“/opt/portadv/tools/nginx-install”为例,则源Nginx安装目录绝对路径为“/opt/portadv/tools/nginx-install”,源Nginx安装目录为nginx-install。
- 查看编译选项指定的依赖文件,并按需将文件按照其原目录结构拷贝至source_related目录下。
若编译Nginx时仅指定了prefix路径,则可跳过此步骤。
查看编译选项:
1 2
cd 源Nginx安装目录/sbin ./nginx -V
例如:若编译选项指定了--error-log-path=/var/log/nginx/error.log,执行如下命令进行拷贝,其他的编译选项同理。
1 2
mkdir -p /home/nginx_mig_tmp/源Nginx安装目录/sbin/source_related/var/log/nginx cp -p /var/log/nginx/error.log /home/nginx_mig_tmp/源Nginx安装目录/sbin/source_related/var/log/nginx
- 查看源Nginx的启动配置文件,并按原目录结构拷贝至source_related下。
若待迁移的源Nginx二进制启动时未指定配置文件路径,可以跳过此步骤。
1
ps -ef | grep nginx
例如:若ps -ef的回显中,显示“nginx: master process {待迁移的源Nginx二进制} -c /home/nginx_confs/nginx.conf”,执行如下命令进行拷贝。
1 2
mkdir -p /home/nginx_mig_tmp/源Nginx安装目录/sbin/source_related/home/nginx_confs cp -p /home/nginx_confs/nginx.conf /home/nginx_mig_tmp/源Nginx安装目录/sbin/source_related/home/nginx_confs
- 查看源Nginx的启动配置文件中引用的依赖文件或目录,并按需将相关文件按照其原目录结构拷贝至source_related目录下。
若配置文件中没有使用include、ssl_certificate、ssl_certificate_key、ssl_dhparam、error_log、access_log、root、alias、client_body_temp_path、fastcgi_temp_path、proxy_temp_path、proxy_cache_path、scgi_temp_path、uwsgi_temp_path关键字,或引用的文件/目录都在源Nginx安装目录内,则可跳过此步骤。
1
vi 源Nginx的启动配置文件
例如:nginx.conf中,root关键字指定了引用的html目录路径为/root/nginx/html,执行如下命令进行拷贝,其他文件或目录同理。
1 2
mkdir -p /home/nginx_mig_tmp/源Nginx安装目录/root/nginx cp -rp /root/nginx/html /home/nginx_mig_tmp/源Nginx安装目录/sbin/source_related/root/nginx
- 删除source_related目录下,重复拷贝的Nginx安装路径。
查看源Nginx安装目录是否存在:
1
ll /home/nginx_mig_tmp/源Nginx安装目录/sbin/source_related/源Nginx安装目录绝对路径
若存在,请删除:
1
rm -rf /home/nginx_mig_tmp/源Nginx安装目录/sbin/source_related/源Nginx安装目录绝对路径
- 将待扫描的源成分对应安装目录打包为压缩包,以tar.gz格式压缩包为例,压缩包名称请根据实际情况替换。
- 执行如下命令进行打包,以nginx.tar.gz为例。
tar cvf nginx.tar.gz /home/nginx_mig_tmp
- 可通过以下两种方式获取源成分。
- 若使用“源成分包上传”方式,返回“添加成分信息”页签,单击“源成分包上传”后“上传”按钮,上传打包的源成分包。
- 若使用“节点服务器获取”方式,请执行如下命令解压源成分压缩包。
- 使用SSH远程登录工具,将压缩包上传至“所属节点”的自定义路径。
- 进入保存压缩包文件的自定义目录。
1
cd 自定义路径
- 解压源成分压缩包。
tar xvf nginx.tar.gz
- 解压完成,可选择执行如下命令删除源成分压缩包。
rm -f nginx.tar.gz
- 指定解压后的文件路径为“源成分所在路径”。
- 执行如下命令进行打包,以nginx.tar.gz为例。
- 打包完成后请手动删除创建的“/home/nginx_mig_tmp”目录。
父主题: Nginx源成分打包