debian安装Nginx

编译安装Nginx

复制代码
sudo apt-get update

环境准备

编译Nginx需要gcc+的环境支持,build-essential内包含gcc+套件,所以我们安装build-essential即可:

复制代码
sudo apt-get install build-essential

因为nginx.conf中使用了正则表达式,所以编译Nginx时就需要把PCRE库编译进Nginx,而Debian内安装PCRE库,可以这样安装:

复制代码
sudo apt-get install libpcre3 libpcre3-dev

当热,Nginx编译过程和Http相应过程还需要gzip格式的压缩,所以我们还需要安装zlib库用于对HTTP包的内容做gzip格式的压缩,可以这样安装:

复制代码
sudo apt-get install zlib1g-dev

最后,现在SSL协议很重要,Chrome等主流浏览器,都开始默认相应HTTPS了,所以OpenSSL编译环境也很重要:

复制代码
sudo apt-get install openssl libssl-dev

另外,如果你不想安装OpenSSL,或者想指定第三方OpenSSL用于编译,可以在Nginx编译时添加编译参数:--with-openssl

下载Nginx源码

接下来,我们下载并解压Nginx的源码,Nginx源码下载官方地址:

http://nginx.org/en/download.html

开发环境,我们使用最新稳定版本Nginx:

复制代码
# 下载Nginx 1.20.1源码(Stable稳定版本)
wget "http://nginx.org/download/nginx-1.20.1.tar.gz"
# 使用tar命令解压
tar -xf nginx-1.20.1.tar.gz
# 进入解压后出现的目录,已备接下来的编译
cd nginx-1.20.1

编译Nginx
首先,我们需要生成makefile文件,编译时候的参数可以参考官方Nginx文档:

http://nginx.org/en/docs/configure.html

我自己编译Nginx时候,选择的参数一般是:

./configure \--prefix=/etc/nginx \--sbin-path=/usr/sbin/nginx \--conf-path=/etc/nginx/nginx.conf \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--pid-path=/var/run/nginx.pid \--lock-path=/var/run/nginx.lock \--http-client-body-temp-path=/var/cache/nginx/client_temp \--http-proxy-temp-path=/var/cache/nginx/proxy_temp \--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \--http-scgi-temp-path=/var/cache/nginx/scgi_temp \--user=www \--group=www \--with-file-aio \--with-threads \--with-http_addition_module \--with-http_auth_request_module \--with-http_dav_module \--with-http_flv_module \--with-http_gunzip_module \--with-http_gzip_static_module \--with-http_mp4_module \--with-http_random_index_module \--with-http_realip_module \--with-http_secure_link_module \--with-http_slice_module \--with-http_ssl_module \--with-http_stub_status_module \--with-http_sub_module \--with-http_v2_module \--with-mail \--with-mail_ssl_module \--with-stream \--with-stream_realip_module \--with-stream_ssl_module \--with-stream_ssl_preread_module 

其中:

  • --prefix:Nginx主要安装路径,后续Nginx子目录依照这个变量展开
  • --user:设置Nginx进程启动时,所属的用户
  • --group:设置Nginx进程启动时,所属的用户组

如果没问题,会显示信息:

Configuration summary + using threads + using system PCRE library + using system OpenSSL library + using system zlib library nginx path prefix: "/etc/nginx" nginx binary file: "/usr/sbin/nginx" nginx modules path: "/etc/nginx/modules" nginx configuration prefix: "/etc/nginx" nginx configuration file: "/etc/nginx/nginx.conf" nginx pid file: "/var/run/nginx.pid" nginx error log file: "/var/log/nginx/error.log" nginx http access log file: "/var/log/nginx/access.log" nginx http client request body temporary files: "/var/cache/nginx/client_temp" nginx http proxy temporary files: "/var/cache/nginx/proxy_temp" nginx http fastcgi temporary files: "/var/cache/nginx/fastcgi_temp" nginx http uwsgi temporary files: "/var/cache/nginx/uwsgi_temp" nginx http scgi temporary files: "/var/cache/nginx/scgi_temp"

之后,执行编译即可:

复制代码
make && make install

编译删除Nginx

复制代码
# 关闭Nginx
nginx -s quit
# 删除Nginx
sudo rm -rf /etc/nginx
相关推荐
Run_Teenage21 小时前
Linux:匿名管道(实现个进程池)和命名管道
linux·运维·服务器
BingoXXZ21 小时前
20260114Linux学习笔记
linux·服务器·笔记·学习
匀泪21 小时前
CE(SELinux)
运维·服务器
viqjeee21 小时前
Linux ALSA驱动详解
linux·运维·服务器·alsa
夜未央3121 小时前
HTTPS 原理与 PHP 文件包含及伪协议详解
运维·服务器·安全·网络安全
云川之下21 小时前
【网络】变长子网划分 (VLSM) 示例、点到点网络
运维·服务器·网络·变长子网
Dovis(誓平步青云)21 小时前
《epoll深度解析:从原理到使用,解锁Linux高并发I/O的核心能力(终篇)》
linux·运维·服务器·网络
不会kao代码的小王21 小时前
服务器、存储与网络核心知识全解析
运维·服务器·网络
Xの哲學1 天前
Linux Workqueue 深度剖析: 从设计哲学到实战应用
linux·服务器·网络·算法·边缘计算
IT 行者1 天前
Claude之父AI编程技巧十一:MCP服务器集成——连接AI与现实世界的桥梁
服务器·人工智能·ai编程