Nginx的编译安装并支持ssl

本文详细介绍了在Ubuntu和CentOS系统上从源码编译安装Nginx的过程,包括下载稳定版本、配置用户组、安装依赖库、设置编译参数及执行编译和安装。同时提供了编译配置总结和安装目录结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nginx的编译安装

下载nginx稳定版:

cd /home/username/download/
wget http://nginx.org/download/nginx-1.16.0.tar.gz
tar zxvf nginx-1.16.0.tar.gz
cd nginx-1.16.0

添加用户和用户组

sudo addgroup -r nginx
sudo adduser -g nginx -r nginx

下载依赖文件

Ubuntu:

# gcc g++的依赖包
sudo apt-get install -y build-essential libtool 
# pcer 依赖库 用于http的rewrite模块
sudo apt-get install -y libpcre3 libpcre3-dev
# 安装zlib依赖库
sudo apt-get install -y zlib1g-dev
# 安装openssl支持ssl加密
sudo apt-get install -y openssl libssl-dev

CentOS:

yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

执行编译 — 个人使用,都放在一个位置方便管理

./configure --prefix=/usr/local/nginx  \
--conf-path=/usr/local/nginx/etc/nginx.conf  \
--user=nginx --group=nginx  \
--error-log-path=/usr/local/nginx/nginxlog/error.log  \
--http-log-path=/usr/local/nginx/nginxlog/access.log  \
--pid-path=/usr/local/nginx/pids/nginx.pid  \
--lock-path=/usr/local/nginx/locks/nginx.lock  \
--with-http_ssl_module  \
--with-http_stub_status_module  \
--with-http_gzip_static_module  \
--http-client-body-temp-path=/usr/local/nginx/tmp/client  \
--http-proxy-temp-path=/usr/local/nginx/tmp/proxy  \
--http-fastcgi-temp-path=/usr/local/nginx/tmp/fastcgi  \
--http-uwsgi-temp-path=/usr/local/nginx/tmp/uwsgi  \
--http-scgi-temp-path=/usr/local/nginx/tmp/scgi

执行编译的结果为:

Configuration summary
  + using system PCRE library
  + using system OpenSSL library
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/etc"
  nginx configuration file: "/usr/local/nginx/etc/nginx.conf"
  nginx pid file: "/usr/local/nginx/pids/nginx.pid"
  nginx error log file: "/usr/local/nginx/nginxlog/error.log"
  nginx http access log file: "/usr/local/nginx/nginxlog/access.log"
  nginx http client request body temporary files: "/usr/local/nginx/tmp/client"
  nginx http proxy temporary files: "/usr/local/nginx/tmp/proxy"
  nginx http fastcgi temporary files: "/usr/local/nginx/tmp/fastcgi"
  nginx http uwsgi temporary files: "/usr/local/nginx/tmp/uwsgi"
  nginx http scgi temporary files: "/usr/local/nginx/tmp/scgi

执行安装

make && make install

安装结束后查看安装的结果

cd /usr/local/nginx/
tree

.
├── etc
│   ├── fastcgi.conf
│   ├── fastcgi.conf.default
│   ├── fastcgi_params
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types
│   ├── mime.types.default
│   ├── nginx.conf
│   ├── nginx.conf.default
│   ├── scgi_params
│   ├── scgi_params.default
│   ├── uwsgi_params
│   ├── uwsgi_params.default
│   └── win-utf
├── html
│   ├── 50x.html
│   └── index.html
├── nginxlog
├── pids
└── sbin
    └── nginx

完善目录

mkdir -pv /usr/local/nginx/tmp/{client,proxy,fastcgi,uwsgi,scgi}

启动Nginx

# 启动
/usr/local/nginx/sbin/nginx
# 检查是否启动
ss -tnlp | grep :80

检测到80端口被nginx占用则表示nginx启动成功

LISTEN 0 511 *:80 *:* users:(("nginx",pid=25049,fd=6),("nginx",pid=25048,fd=6))

停止启动和重载

/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx -s quit
/usr/local/nginx/sbin/nginx reload

执行编译 — 正常的编译

 ./configure --prefix=/usr/local/nginx  \
    --conf-path=/etc/nginx/nginx.conf  \
    --user=nginx --group=nginx  \
    --error-log-path=/var/log/nginx/error.log  \
    --http-log-path=/var/log/nginx/access.log  \
    --pid-path=/var/run/nginx/nginx.pid  \
    --lock-path=/var/lock/nginx.lock  \
    --with-http_ssl_module  \
    --with-http_stub_status_module \
    --with-http_gzip_static_module  \
    --http-client-body-temp-path=/var/tmp/nginx/client  \
    --http-proxy-temp-path=/var/tmp/nginx/proxy  \
    --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi  \
    --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi  \
    --http-scgi-temp-path=/var/tmp/nginx/scgi

参考:
https://www.cnblogs.com/liaoxianfu/p/0ec6427a9b5fa9063022fac1c2561395.html
https://blog.youkuaiyun.com/g1531997389/article/details/79135212

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值