当前位置: 首页 > news >正文

linux ununtu通过nginx-1.6.2.tar.gz安装nginx并安装在自定义目录XXX下 的步骤


Ubuntu 下通过源码安装 Nginx 1.6.2 到自定义目录 /home/aot/nginx 的步骤

以下是将 Nginx 1.6.2 源码包离线安装到自定义目录的详细流程,包含依赖管理、编译配置和服务管理:


一、准备工作

1. 下载源码包和依赖(需联网环境准备)
  • Nginx 1.6.2 源码包
    从官网下载 nginx-1.6.2.tar.gz。
  • 依赖库(若离线需提前下载):
    # 在联网机器上下载编译依赖(Ubuntu)
    apt-get download build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
    
2. 传输文件到离线服务器

将以下文件通过 U 盘或内网传输到目标服务器:

  • nginx-1.6.2.tar.gz
  • 依赖的 .deb 包(如 build-essential_*.deb, libpcre3-dev_*.deb 等)

二、安装编译依赖

1. 安装 .deb
# 进入依赖包目录
cd /path/to/deps

# 安装所有依赖
sudo dpkg -i *.deb
2. 验证工具链
# 检查 gcc 和 make 是否可用
gcc --version
make --version

三、编译安装 Nginx

1. 解压源码包
tar -zxvf nginx-1.6.2.tar.gz
cd nginx-1.6.2
2. 配置编译选项(指定安装路径)
./configure \
  --prefix=/home/aot/nginx \  # 指定安装目录
  --with-http_ssl_module \    # 启用 SSL 模块
  --with-pcre \               # PCRE 正则库支持
  --with-zlib                 # 压缩库支持
  • 若提示依赖缺失:检查是否已安装 libpcre3-devzlib1g-dev
3. 编译并安装
make
sudo make install  # 需要 sudo 权限写入系统目录(如 /usr/local/lib)

四、配置环境变量

1. 将 Nginx 可执行文件路径加入 PATH
echo 'export PATH=/home/aot/nginx/sbin:$PATH' >> ~/.bashrc
source ~/.bashrc
2. 验证安装
nginx -v
# 输出:nginx version: nginx/1.6.2

五、管理 Nginx 服务

1. 启动 Nginx
/home/aot/nginx/sbin/nginx
2. 停止 Nginx
/home/aot/nginx/sbin/nginx -s stop
3. 重新加载配置
/home/aot/nginx/sbin/nginx -s reload
4. 创建 Systemd 服务(可选)
sudo vim /etc/systemd/system/nginx.service

文件内容

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target

[Service]
Type=forking
ExecStart=/home/aot/nginx/sbin/nginx
ExecReload=/home/aot/nginx/sbin/nginx -s reload
ExecStop=/home/aot/nginx/sbin/nginx -s quit
PIDFile=/home/aot/nginx/logs/nginx.pid

[Install]
WantedBy=multi-user.target

启用服务

sudo systemctl daemon-reload
sudo systemctl start nginx
sudo systemctl enable nginx

六、验证服务状态

1. 检查端口监听
netstat -tulnp | grep nginx
# 正常输出:tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN <PID>/nginx
2. 访问默认页面

在浏览器输入服务器 IP 地址,若显示 “Welcome to nginx!” 表示成功。


七、常见问题解决

1. 编译时报错 C compiler cc is not found
  • 原因:未安装编译工具链。
  • 解决:离线安装 build-essential 包。
2. 启动时报错 bind() to 0.0.0.0:80 failed
  • 原因:80 端口被占用(如 Apache)。
  • 解决:关闭占用程序或修改 Nginx 端口:
    # 编辑配置文件
    vim /home/aot/nginx/conf/nginx.conf
    # 修改监听端口:listen 8080;
    /home/aot/nginx/sbin/nginx -s reload
    
3. 权限不足无法启动
  • 原因:非 root 用户尝试绑定 1024 以下端口。
  • 解决
    • 使用 sudo 启动。
    • 或赋予端口绑定权限:
      sudo setcap 'cap_net_bind_service=+ep' /home/aot/nginx/sbin/nginx
      

八、卸载 Nginx

# 停止服务
/home/aot/nginx/sbin/nginx -s stop

# 删除安装目录
rm -rf /home/aot/nginx

# 移除 Systemd 服务(如果已创建)
sudo rm /etc/systemd/system/nginx.service
sudo systemctl daemon-reload

总结

通过以上步骤,您已将 Nginx 1.6.2 安装到自定义目录,并配置了基础服务管理。如需更复杂的模块支持(如 HTTP2、GeoIP),可在 ./configure 阶段添加对应参数。建议定期检查 Nginx 安全公告,确保版本安全。

相关文章:

  • 示波器探头衰减值:简单来说就是“信号缩小器
  • docker启动elasticsearch,挂载文件报错:Device or resource busy
  • ssh配置 远程控制 远程协作 github本地配置
  • 蓝桥杯备赛-前缀和-可获得的最小取值
  • 信号处理:互相关函数
  • 蓝桥与力扣刷题(蓝桥 特别数的和)
  • 论文:KernelBench: Can LLMs Write Efficient GPU Kernels?
  • centos虚拟机无法安装工具
  • Android开发奇葩bug:布局宽高不自动自适应了
  • 月份天数总结
  • 【考试大纲】高级系统架构设计师考试大纲
  • 【Rabbitmq篇】高级特性----TTL,死信队列,延迟队列
  • 连锁管理系统的五大核心功能及系统设计
  • Python数字图像处理:直方图均衡化
  • 歌曲分类和流行度预测
  • 需求和开发模型
  • 旁挂组网双机热备负载分担
  • ubuntu离线安装nvidia-container-runtime
  • c++信息学第一阶段练习题
  • 在 MySQL 中,删除数据库和表后,自动递增的值通常会被重置为初始值,一般是 1。但如果自动递增不为零,可能有以下原因及解决办法:
  • 网站新媒体建设方案/搜资源的搜索引擎
  • 该网站的域名已经被其他人绑定/网络快速排名优化方法
  • 网站地址结构/微信推广多少钱一次
  • 关于开通网站建设的请示/宣传推广计划
  • 微信公众号网站建设/银川seo
  • 涿州做网站建设/企业管理培训课程网课