Ubuntu 离线部署 Nginx
在一台已经安装并测试正常的 Ubuntu 服务器上,将整个 Nginx 安装目录打包,然后复制到目标服务器,配置systemd服务即可。
推荐条件
- 源服务器和目标服务器 Ubuntu 版本一致
- CPU 架构一致
- 两台机器都具有相同或兼容的系统运行库
一、源服务器准备
假设 Nginx 已安装在:
/usr/local/nginx目录结构如下:
/usr/local/nginx ├── conf ├── html ├── logs ├── sbin │ └── nginx └── ...二、打包 Nginx
进入目录:
cd/usr/local打包:
tar-czvfnginx.tar.gz nginx生成:
/usr/local/nginx.tar.gz三、上传到目标服务器
四、目标服务器安装
切换到存放目录
解压:
sudotar-zxvfnginx.tar.gz-C/usr/local/解压完成后:
/usr/local/nginx五、测试 Nginx
查看版本:
/usr/local/nginx/sbin/nginx-v例如:
nginx version: nginx/1.28.0测试配置:
/usr/local/nginx/sbin/nginx-t正常输出:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful六、手动启动测试
启动:
sudo/usr/local/nginx/sbin/nginx查看进程:
ps-ef|grepnginx正常会看到:
root 12345 1 0 10:00 ? 00:00:00 nginx: master process www-data 12346 12345 0 10:00 ? 00:00:00 nginx: worker process停止:
sudo/usr/local/nginx/sbin/nginx-squit七、创建 systemd 服务
创建:
sudovim/etc/systemd/system/nginx.service写入:
[Unit] Description=NGINX Web Server After=network.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target八、重新加载 systemd
sudosystemctl daemon-reload设置开机启动:
sudosystemctlenablenginx启动:
sudosystemctl start nginx查看状态:
sudosystemctl status nginx正常输出:
Active: active (running)九、常用管理命令
启动:
sudosystemctl start nginx停止:
sudosystemctl stop nginx重启:
sudosystemctl restart nginx重新加载配置:
sudosystemctl reload nginx查看状态:
sudosystemctl status nginx设置开机启动:
sudosystemctlenablenginx取消开机启动:
sudosystemctl disable nginx十、验证访问
浏览器访问:
http://服务器IP如果出现:
Welcome to nginx!说明部署成功。