Ubuntu 离线部署 Nginx

Ubuntu 离线部署 Nginx

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!

说明部署成功。