• nginx源码编译安装


    一、基本安装

    nginx官方下载页下载所需要的稳定版本nginx源码后,只需要执行以下命令即可(以 nginx-1.22.0 为例)

    wget http://nginx.org/download/nginx-1.22.0.tar.gz
    tar -xvf nginx-1.22.0.tar.gz
    cd nginx-1.22.0
    ./configure
    make
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    其中在执行完 ./configure 指令后,会有以下输出,显示了默认情况下 nginx可执行文件、配置文件、日志文件位置这些重要信息。

      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/conf"
      nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
      nginx pid file: "/usr/local/nginx/logs/nginx.pid"
      nginx error log file: "/usr/local/nginx/logs/error.log"
      nginx http access log file: "/usr/local/nginx/logs/access.log"
      nginx http client request body temporary files: "client_body_temp"
      nginx http proxy temporary files: "proxy_temp"
      nginx http fastcgi temporary files: "fastcgi_temp"
      nginx http uwsgi temporary files: "uwsgi_temp"
      nginx http scgi temporary files: "scgi_temp"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    安装的时候没有注意上面的信息也没关系,可以通过执行 nginx -V 指令获得当前nginx的各项配置信息。

    二、自定义安装

    2.1 ./configure 参数

    默认的安装方式可能不能满足自己的需要,可以在执行 ./configure 指令时设定参数,来满足实际所需

    –prefix=PATH:Nginx安装部署后的根目录,默认为/usr/local/nginx。这个目标的设置会影响其他参数中的相对目录。例如:如果设置了–sbin-path=sbin/nginx,那么实际上可执行文件会被放到/usr/local/nginx/sbin/nginx中

    –sbin-path=PATH:可执行文件的放置路径。默认为/sbin/nginx

    –conf-path=PATH:配置文件的放置路径。默认为/conf/nginx.conf

    –error-log-path=PATH:error日志文件的放置路径,默认为/logs/error.log

    –pid-path=PATH:pid文件的存放路径。以ASCII码存放Nginx master的进程ID,在使用命令行式(例如nginx -s reload)通过读取master进程ID向master进程发送信号时,才能对运行中Nginx服务产生作用,默认为/logs/nginx.pid

    –lock-path=PATH:lock文件的放置路径,默认为/logs/nginx.lock
    –builddir=DIR:configure执行时与编译期间产生的临时文件放置的目录,包括产生的Makefile、C源文件、目标文件、可执行文件等。默认为/objs

    –with-http_perl_module:
    –with-http_perl_module=dynamic:
    –with-perl_modules_path=PATH:perl模块放置的路径,只有使用第三方perl模块才需要配置此路径。
    –with-perl=PATH:perl二进制放置路径。如果配置的Nginx会执行Perl脚本,那么必须要设置此路径
    –http-log-path=PATH:access日志放置的位置。每一个HTTP请求在结束时都会记录的访问日志。默认为/logs/access.log
    –http-client-body-temp-path=PATH:处理HTTP请求时如果请求的包体需要暂时存放到临时磁盘文件中,则把这样的临时文件放置到该路径下。默认为/client_body_temp

    –http-proxy-temp-path=PATH:Nginx作为HTTP反向代理服务器时,上游服务器产生的HTTP包体需要临时存放到磁盘文件的路径。默认为/proxy_temp

    –http-fastcgi-temp-path=PATH:Fastcgi所使用临时文件的放置目录,默认为/fastcgi_temp
    –http-uwsgi-temp-path=PATH:uWSGI所使用临时文件的放置目录,默认为/uwsgi_temp
    –http-scgi-temp-path=PATH:SCGI所使用临时文件的放置目录,默认为/scgi_temp

    三、nginx使用

    3.1 多个域名监听同一个端口

    nginx支持多个域名监听同一个端口,比如80端口,不过这些域名所使用的nginx,必须在同一个nginx下管理,一般是把每个域名一个server配置文件,所有域名的配置文件都放在vhosts目录下。这样的话,一台机器就可以部署多个域名的服务了,如果用两个不同的nginx来监听同一个端口的话,第二个启动的nginx服务将因为端口已经被使用而启动失败。

    参考
    https://blog.csdn.net/hzb869168467/article/details/110672906

  • 相关阅读:
    蓝牙学习五(广播包分析wireshark)
    “遥感新纪元:GPT技术引领地球观测的智慧革新“
    学生静态HTML个人博客主页【Web大学生网页作业成品】HTML+CSS+JavaScript
    机器学习-聚类算法
    SEO优化之扁平化目录结构PbootCMS
    qml里使用组件的案例
    2023年【四川省安全员A证】复审考试及四川省安全员A证考试试题
    SpringSecurity6 | 自动配置(下)
    AOP获取通知以及实际应用
    Kafka 单机部署搭建及其基本使用
  • 原文地址:https://blog.csdn.net/afterlife_union/article/details/126779048