• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    Ubuntu安装Nginx全过程(在线安装&源码编译安装)

    发布者: 皮3591 | 发布时间: 2025-8-16 17:34| 查看数: 58| 评论数: 0|帖子模式

    1.安装环境


    • ubuntu 20.04
    • nginx1.18.0

    2.安装方式


    2.1 apt安装
    1. sudo apt update
    2. sudo apt install nginx
    复制代码
    1)查看版本
    1. nginx -v
    2. # 版本
    3. nginx version: nginx/1.18.0 (Ubuntu)
    复制代码
    2)查看安装版本及详情
    1. nginx -V

    2. #版本及安装详情
    3. nginx version: nginx/1.18.0 (Ubuntu)
    4. built with OpenSSL 1.1.1f  31 Mar 2020
    5. TLS SNI support enabled
    6. configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-lUTckl/nginx-1.18.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-compat --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module --with-mail=dynamic --with-mail_ssl_module
    复制代码
    可以发现,使用在线安装方式,为我们指定了一些安装参数,
    例如:
    1. --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf
    复制代码
    ,并为我们安装了一些module,
    例如:
    1. --with-http_ssl_module
    复制代码
    ,这就是我们服务器部署常用的https模块。

    2.2 源码编译安装

    1)删除nginx
    由于通过apt方式安装了nginx,因此需要先将其卸载掉。加上
    1. --purge
    复制代码
    删除已安装的软件包,并删除配置文件。
    1. sudo apt --purge remove nginx
    复制代码
    2)删除相关依赖
    虽然在第一步删除nginx时,会提示使用
    1. sudo apt autoremove
    复制代码
    注意:使用该命令会出现一些无法预知的错误,切记。
    1. sudo apt --purge remove fontconfig-config fonts-dejavu-core libfontconfig1 libgd3 libjbig0 libjpeg-turbo8 libjpeg8 libnginx-mod-http-image-filter libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream libtiff5 libwebp6 libxpm4 nginx-common nginx-core
    复制代码
    2.2.1 下载源码

    下载地址:nginx: download

    2.2.2 安装

    1)解压缩
    1. tar zxvf nginx-1.18.0.tar.gz
    复制代码
    2)安装编译相关模块
    1. sudo apt install gcc
    2. sudo apt install make
    复制代码
    3)设置配置
    1. cd /home/stone/nginx-1.18.0
    2. sudo ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid
    复制代码
    会提示报错需要
    1. pcre,zlib
    复制代码
    模块
    4)安装相关依赖
    1. sudo apt install libpcre3-dev
    2. sudo apt install zlib1g-dev
    复制代码
    5)编译&安装
    1. sudo make
    2. sudo make install
    复制代码
    6)启动
    1. cd /usr/local/nginx
    2. sudo ./nginx
    复制代码
    7)查看进程
    1. ps -ef|grep nginx

    2. root       39949       1  0 12:54 ?        00:00:00 nginx: master process ./nginx
    3. nobody     39950   39949  0 12:54 ?        00:00:00 nginx: worker process
    复制代码
    8)查看默认安装模块
    我们先使用
    1. nginx -V
    复制代码
    查看,发现其只返回了我们配置的参数,并不像apt安装方式时,会返回安装了哪些模块。
    1. cd /usr/local/nginx
    2. ./nginx -V

    3. # 输出结果
    4. nginx version: nginx/1.18.0
    5. built by gcc 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
    6. configure arguments: --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid
    复制代码
    这时,我们需要去编译的文件夹去找,可以看到编译安装的方式,安装的模块比apt安装方式时还要多。
    1. cd /home/stone/nginx-1.18.0/auto
    2. cat options | grep "YES"

    3. # 输出结果
    4. HTTP=YES
    5. HTTP_CACHE=YES
    6. HTTP_CHARSET=YES
    7. HTTP_GZIP=YES
    8. HTTP_SSI=YES
    9. HTTP_ACCESS=YES
    10. HTTP_AUTH_BASIC=YES
    11. HTTP_MIRROR=YES
    12. HTTP_USERID=YES
    13. HTTP_AUTOINDEX=YES
    14. HTTP_GEO=YES
    15. HTTP_MAP=YES
    16. HTTP_SPLIT_CLIENTS=YES
    17. HTTP_REFERER=YES
    18. HTTP_REWRITE=YES
    19. HTTP_PROXY=YES
    20. HTTP_FASTCGI=YES
    21. HTTP_UWSGI=YES
    22. HTTP_SCGI=YES
    23. HTTP_GRPC=YES
    24. HTTP_MEMCACHED=YES
    25. HTTP_LIMIT_CONN=YES
    26. HTTP_LIMIT_REQ=YES
    27. HTTP_EMPTY_GIF=YES
    28. HTTP_BROWSER=YES
    29. HTTP_UPSTREAM_HASH=YES
    30. HTTP_UPSTREAM_IP_HASH=YES
    31. HTTP_UPSTREAM_LEAST_CONN=YES
    32. HTTP_UPSTREAM_RANDOM=YES
    33. HTTP_UPSTREAM_KEEPALIVE=YES
    34. HTTP_UPSTREAM_ZONE=YES
    35. MAIL_POP3=YES
    36. MAIL_IMAP=YES
    37. MAIL_SMTP=YES
    38. STREAM_LIMIT_CONN=YES
    39. STREAM_ACCESS=YES
    40. STREAM_GEO=YES
    41. STREAM_MAP=YES
    42. STREAM_SPLIT_CLIENTS=YES
    43. STREAM_RETURN=YES
    44. STREAM_UPSTREAM_HASH=YES
    45. STREAM_UPSTREAM_LEAST_CONN=YES
    46. STREAM_UPSTREAM_RANDOM=YES
    47. STREAM_UPSTREAM_ZONE=YES
    48.         --with-select_module)            EVENT_SELECT=YES           ;;
    49.         --with-poll_module)              EVENT_POLL=YES             ;;
    50.         --with-threads)                  USE_THREADS=YES            ;;
    51.         --with-file-aio)                 NGX_FILE_AIO=YES           ;;
    52.         --with-http_ssl_module)          HTTP_SSL=YES               ;;
    53.         --with-http_v2_module)           HTTP_V2=YES                ;;
    54.         --with-http_realip_module)       HTTP_REALIP=YES            ;;
    55.         --with-http_addition_module)     HTTP_ADDITION=YES          ;;
    56.         --with-http_xslt_module)         HTTP_XSLT=YES              ;;
    57.         --with-http_image_filter_module) HTTP_IMAGE_FILTER=YES      ;;
    58.         --with-http_geoip_module)        HTTP_GEOIP=YES             ;;
    59.         --with-http_sub_module)          HTTP_SUB=YES               ;;
    60.         --with-http_dav_module)          HTTP_DAV=YES               ;;
    61.         --with-http_flv_module)          HTTP_FLV=YES               ;;
    62.         --with-http_mp4_module)          HTTP_MP4=YES               ;;
    63.         --with-http_gunzip_module)       HTTP_GUNZIP=YES            ;;
    64.         --with-http_gzip_static_module)  HTTP_GZIP_STATIC=YES       ;;
    65.         --with-http_auth_request_module) HTTP_AUTH_REQUEST=YES      ;;
    66.         --with-http_random_index_module) HTTP_RANDOM_INDEX=YES      ;;
    67.         --with-http_secure_link_module)  HTTP_SECURE_LINK=YES       ;;
    68.         --with-http_degradation_module)  HTTP_DEGRADATION=YES       ;;
    69.         --with-http_slice_module)        HTTP_SLICE=YES             ;;
    70.         --with-http_perl_module)         HTTP_PERL=YES              ;;
    71.         --with-http_stub_status_module)  HTTP_STUB_STATUS=YES       ;;
    72.         --with-mail)                     MAIL=YES                   ;;
    73.         --with-mail_ssl_module)          MAIL_SSL=YES               ;;
    74.             MAIL=YES
    75.             MAIL_SSL=YES
    76.         --with-stream)                   STREAM=YES                 ;;
    77.         --with-stream_ssl_module)        STREAM_SSL=YES             ;;
    78.         --with-stream_realip_module)     STREAM_REALIP=YES          ;;
    79.         --with-stream_geoip_module)      STREAM_GEOIP=YES           ;;
    80.                                          STREAM_SSL_PREREAD=YES     ;;
    81.         --with-google_perftools_module)  NGX_GOOGLE_PERFTOOLS=YES   ;;
    82.         --with-cpp_test_module)          NGX_CPP_TEST=YES           ;;
    83.         --with-compat)                   NGX_COMPAT=YES             ;;
    84.         --with-debug)                    NGX_DEBUG=YES              ;;
    85.         --with-pcre)                     USE_PCRE=YES               ;;
    86.         --with-pcre-jit)                 PCRE_JIT=YES               ;;
    87.         --with-libatomic)                NGX_LIBATOMIC=YES          ;;
    88.         --test-build-devpoll)            NGX_TEST_BUILD_DEVPOLL=YES ;;
    89.         --test-build-eventport)          NGX_TEST_BUILD_EVENTPORT=YES ;;
    90.         --test-build-epoll)              NGX_TEST_BUILD_EPOLL=YES   ;;
    91.         --test-build-solaris-sendfilev)  NGX_TEST_BUILD_SOLARIS_SENDFILEV=YES ;;
    复制代码
    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表