• 如何在Linux中从源码包安装NGINX?


    Nginx网络服务器是最著名的网络服务器之一,几乎不需要任何介绍。它是一个非常快速的轻量级应用程序,不仅可以作为Web服务器,还可以作为缓存服务器、HTTP代理/反向代理、邮件代理以及负载平衡器。
    在本教程中,我们将学习如何在Linux上从源码安装Nginx,即在Ubuntu(特别是20.04)和CentOS(特别是7)上安装。首先,我们先从安装先决条件开始。
    先决条件
    对于Ubuntu
    在从源码编译nginx之前,我们需要在Ubuntu系统上安装以下包:
    $ sudo apt-get install -y curl build-essential make gcc libpcre3 libpcre3-dev libpcre++-dev zlib1g-dev libbz2-dev libxslt1-dev libxml2-dev libgd2-xpm-dev libgeoip-dev libgoogle-perftools-dev libperl-dev libssl-dev libcurl4-openssl-dev libatomic-ops-dev
    对于CentOS
    我们需要安装以下CentOS系统的包:
    $ yum install gcc zlib-devel openssl-devel make pcre-devel libxml2-devel libxslt-devel libgcrypt-devel gd-devel perl-ExtUtils-Embed GeoIP-devel
    现在我们可以从源码包安装nginx了。
    从源代码安装Nginx
    对于Ubuntu和CentOS,从源代码包安装nginx都是相似的。因此,请遵循以下步骤。
    首先,我们需要将最新的稳定软件包下载到我们的系统(当前为V-1.18.0)上。使用以下命令下载它,
    $ wget https://nginx.org/download/nginx-1.18.0.tar.gz
    现在解压缩tar文件,
    $ tar zxf nginx-1.18.0.tar.gz
    $ cd nginx-1.18.0
    下一步是使用以下命令编译软件包:
    $ ./configure

    –user=root

    –group=root

    –prefix=/etc/nginx

    –sbin-path=/usr/sbin/nginx

    –modules-path=/usr/lib/nginx/modules

    –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

    –with-select_module

    –with-poll_module

    –with-threads

    –with-file-aio

    –with-http_ssl_module

    –with-http_v2_module

    –with-http_realip_module

    –with-http_addition_module

    –with-http_xslt_module

    –with-http_xslt_module=dynamic

    –with-http_image_filter_module

    –with-http_image_filter_module=dynamic

    –with-http_geoip_module

    –with-http_geoip_module=dynamic

    –with-http_sub_module

    –with-http_dav_module

    –with-http_flv_module

    –with-http_mp4_module

    –with-http_gunzip_module

    –with-http_gzip_static_module

    –with-http_auth_request_module

    –with-http_random_index_module

    –with-http_secure_link_module

    –with-http_degradation_module

    –with-http_slice_module

    –with-http_stub_status_module

    –with-http_perl_module

    –with-http_perl_module=dynamic

    –with-mail

    –with-mail=dynamic

    –with-mail_ssl_module

    –with-stream

    –with-stream=dynamic

    –with-stream_ssl_module

    –with-stream_realip_module

    –with-stream_geoip_module

    –with-stream_geoip_module=dynamic

    –with-stream_ssl_preread_module

    –with-google_perftools_module

    –with-cpp_test_module

    –with-compat

    –with-pcre

    –with-pcre-jit

    –with-zlib-asm=CPU

    –with-libatomic

    –with-debug

    –with-ld-opt=”-Wl,-E”
    注意:-在这里,我们使用“User”和“Group”用作“root”,但我们也可以创建一个专用用户并使用它。
    注意:-在Ubuntu上运行此命令之前,我们可能需要添加'sudo'。
    现在,运行以下命令以完成安装,
    $ make
    $ make install
    注意:-为Ubuntu OS添加'sudo'。
    这将在Linux上从源代码安装nginx。现在我们需要创建启动服务,以便我们可以使用systemctl管理该服务。
    1、为Ubuntu创建服务文件
    要创建服务文件Ubuntu,请运行以下命令,
    $ vi /lib/systemd/system/nginx.service
    并将以下内容添加到文件中,
    [Unit]

    Description=The NGINX HTTP server

    After=syslog.target network.target remote-fs.target nss-lookup.target

    [Service]

    Type=forking

    PIDFile=/var/run/nginx.pid

    ExecStartPre=/usr/sbin/nginx -t

    ExecStart=/usr/sbin/nginx

    ExecReload=/bin/kill -s HUP $MAINPID

    ExecStop=/bin/kill -s QUIT $MAINPID

    PrivateTmp=true

    [Install]

    WantedBy=multi-user.target
    保存文件并退出。现在,重新加载守护程序服务以加载nginx的服务文件,
    $ systemctl daemon-reload
    现在我们可以启动nginx服务,
    $ systemctl start nginx

    2、为CentOS创建服务文件
    在CentO上创建以下文件,
    $ vi /etc/systemd/system/nginx
    并将以下内容添加到文件中,
    [Unit]

    Description=The NGINX HTTP server

    After=syslog.target network.target remote-fs.target nss-lookup.target

    [Service]

    Type=forking

    PIDFile=/var/run/nginx.pid

    ExecStartPre=/usr/sbin/nginx -t

    ExecStart=/usr/sbin/nginx

    ExecReload=/bin/kill -s HUP $MAINPID

    ExecStop=/bin/kill -s QUIT $MAINPID

    PrivateTmp=true

    [Install]

    WantedBy=multi-user.target
    保存文件并退出。现在,重新加载守护程序服务以加载nginx的服务文件,
    $ systemctl daemon-reload
    现在我们可以启动nginx服务,
    $ systemctl start nginx
    这样就完成了有关如何从源代码安装nginx的教程。A5互联https://www.a5idc.net/

  • 相关阅读:
    LGPrep的一点小问题
    百度地图API的事件处理:覆盖物阻止冒泡
    HTML5截取视频第一帧作为预览图片
    20165105 第二周学习总结
    20165105课下作业
    20165105第一周学习查缺补漏
    第四周课下作业20165105
    20165105 201620172 《Java程序设计》第1周学习总结
    我期望的师生关系
    .NET使用NPOI组件将数据导出Excel
  • 原文地址:https://www.cnblogs.com/a5idc/p/13665774.html
Copyright © 2020-2023  润新知