请根据以下指导打包源成分包,防止数据、配置、日志文件在安装包外导致丢失。
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。
若编译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二进制启动时未指定配置文件路径,可以跳过此步骤。
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 |
若配置文件中没有使用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 |
查看源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 cvf nginx.tar.gz /home/nginx_mig_tmp
1 | cd 自定义路径 |
tar xvf nginx.tar.gz
rm -f nginx.tar.gz