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

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


http://www.kler.cn/a/460519.html

相关文章:

  • 出现 Error during query execution: StatementCallback; bad SQL grammar 解决方法
  • 【大模型】wiki中文语料的word2vec模型构建
  • C++ 设计模式:备忘录模式(Memento Pattern)
  • STM32拓展 低功耗案例1:睡眠模式 (register)
  • FPGA 4x4矩阵键盘 实现
  • 报错:websocket注入为null,已解决!
  • [羊城杯 2024]不一样的数据库_2
  • QGIS移动图元功能
  • 纯血鸿蒙ArkUI相对布局详解
  • 简易内存池(中)
  • Kubernetes: NetworkPolicy 的实践应用
  • 航顺芯片推出HK32A040方案,赋能汽车矩阵大灯安全与智能化升级
  • Linux postgresql-15部署文档
  • 音频进阶学习九——离散时间傅里叶变换DTFT
  • 华为仓颉编程语言的函数与结构类型分析
  • Midjourney技术浅析(五):图像细节处理
  • 【大模型实战篇】GLM-Zero模型初代版本的尝鲜
  • SSM-Spring-IOC/DI对应的配置开发
  • 【Win】感觉“ctypes.WinDLL(“user32“)“跟“ctypes.windll.user32“看起来很像呀,它们之间有什么区别呢?
  • UL-SCH 处理函数
  • 关于今天发现的一个bug
  • 深入解析Android JNI:以Visualizer为例
  • Ragas自动化评测整体后端流程
  • 平凡的2024回顾
  • 【每日学点鸿蒙知识】广告ID、NFC手机充值、CSS支持语法、PC与模拟器交互、SO热更新等
  • 前端实现PDF预览的几种选择(pdfjs-dist、react-pdf、pdf-viewer)