Ubuntu 22.04源码编译安装Nginx

一、Nginx简介

Nginx(engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务器。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。
Nginx特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好。

Nginx相对于Apache优点如下:

1)高并发响应性能非常好,官方Nginx处理静态文件并发5w/s;

2)负载均衡及反向代理性能非常强;

3)系统内存和CPU占用率低;

4)可对后端服务进行健康检查;

5)支持PHP cgi方式和FastCGI方式;

6)可以作为缓存服务器、邮件代理服务器;

7)配置代码简洁且容易上手;

8)支持SSL和TLSSNI。

二、Nginx安装

1、安装依赖包

root@localhost:~# apt -y install wget gcc make openssl libssl-dev libpcre3 libpcre3-dev libgd-dev

2、创建Nginx用户

root@localhost:~# useradd -s /sbin/nologin nginx

3、下载Nginx源码包

root@localhost:~# wget http://nginx.org/download/nginx-1.24.0.tar.gz

4、解压

root@localhost:~# tar xf nginx-1.24.0.tar.gz

5、预编译

root@localhost:~# cd nginx-1.24.0

root@localhost:~/nginx-1.24.0# ./configure –prefix=/usr/local/nginx –user=nginx –group=nginx –with-http_ssl_module –with-http_stub_status_module –with-stream –with-pcre –with-http_gzip_static_module –with-http_realip_module

6、编译及安装

root@localhost:~/nginx-1.24.0# make -j$(nproc) && make install

7、配置nginx.conf

root@localhost:~/nginx-1.24.0# vim /usr/local/nginx/conf/nginx.conf

    user nginx nginx;
    worker_processes auto;
    pid /var/run/nginx.pid;
events {
    use epoll;
    worker_connections 10240;
    multi_accept on;
    }
http {
    include mime.types;
    default_type application/octet-stream;
    log_format json escape=json
                    '{"访问者IP":"$remote_addr",'
                    '"访问时间":"$time_iso8601",'
                    '"访问页面":"$uri",'
                    '"请求返回时间":"$request_time/S",'
                    '"请求方法类型":"$request_method",'
                    '"请求状态":"$status",'
                    '"请求体大小":"$body_bytes_sent/B",'
                    '"访问者搭载的系统配置和软件类型":"$http_user_agent",'
                    '"虚拟服务器IP":"$server_addr"}';
    access_log /usr/local/nginx/logs/access.log json;
    error_log /usr/local/nginx/logs/error.log warn;
    sendfile on;
    tcp_nopush on;
    keepalive_timeout 120;
    tcp_nodelay on;
    server_tokens off;
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 64k;
    gzip_http_version 1.1;
    gzip_comp_level 4;
    gzip_types text/plain application/x-javascript text/css application/xml;
    gzip_vary on;
    client_max_body_size 10m;
    client_body_buffer_size 128k;
    proxy_connect_timeout 90;
    proxy_send_timeout 90;
    proxy_buffer_size 4k;
    proxy_buffers 4 32k;
    proxy_busy_buffers_size 64k;
    large_client_header_buffers 4 4k;
    client_header_buffer_size 4k;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 1;
    server {
        listen 80;
        server_name localhost;
        location / {
        root  html;
        index index.html index.htm;
        }
    }
}

8、配置系统服务

root@localhost:~/nginx-1.24.0# vim /usr/lib/systemd/system/nginx.service

[Unit]
Description=Nginx Server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

[Install]
WantedBy=multi-user.target

9、启动Nginx

root@localhost:~/nginx-1.24.0# systemctl daemon-reload

root@localhost:~/nginx-1.24.0# systemctl start nginx

root@localhost:~/nginx-1.24.0# systemctl enable nginx

10、访问Nginx默认测试页面

# 浏览器输入http://192.168.36.204,如下图所示

Ubuntu 22.04源码编译安装Nginx

11、查看Nginx访问日志

root@localhost:~/nginx-1.24.0# apt -y install jq

root@localhost:~/nginx-1.24.0# tail /usr/local/nginx/logs/access.log |jq

Ubuntu 22.04源码编译安装Nginx

原创文章,作者:admin,如若转载,请注明出处:https://hostingchat.cn/1611.html

(0)
admin的头像admin
上一篇 2023年7月12日 上午11:14
下一篇 2023年8月12日 下午2:04

相关推荐

  • Nginx开启gzip压缩

    前言 Nginx开启Gzip压缩功能,可以使网站的css、js、xml、html等静态文件在传输时进行压缩,提高网站访问速度,进而优化Nginx性能,减轻网络带宽压力(节省带宽)。…

    2022年7月5日
    000
  • Nginx服务器性能优化

    随着访问量的不断增加,需要对Nginx和内核做相应的优化来满足高并发用户的访问(需要根据你服务器的情况进行配置),那下面在单台Nginx服务器来优化相关参数。 1)Nginx.co…

    2018年1月18日
    000
  • Nginx日志实时分析利器(Ngxtop)

    Ngxtop实时解析nginx访问日志,并且将处理结果输出到终端,功能类似于系统命令top,所以这个软件起名ngxtop。有了ngxtop,你可以实时了解到当前nginx的访问状况…

    2019年9月12日
    000
  • Linux安装Nginx(Yum方式)

    一、Nginx简介 Nginx(engine x)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第…

    2023年3月7日
    000
  • Nginx和Fancyindex实现索引目录

    一、Nginx简介 ‌Nginx(发音为 “Engine-X”)是一个高性能的Web服务器、反向代理服务器、负载均衡器和HTTP缓存。‌它最初由Igor S…

    2025年1月15日
    000
  • Nginx+fancy实现漂亮的索引目录

    ngx-fancyindex模块的简介 Nginx Web 服务器自带的目录浏览功能看起来并不是那么的美观,我们可以使用ngx-fancyindex插件来美化目录浏览功能。 Ngi…

    2018年5月18日
    000
  • Nginx版本升级与降级

    Nginx平滑升级概述 Nginx方便地帮助我们实现了平滑升级。其原理简单概括,就是 在不停掉老进程的情况下,启动新进程。 老进程负责处理仍然没有处理完的请求,但不再接受处理请求。…

    2017年12月19日
    000
  • Nginx配置文件详解

    这篇文章主要是Nginx的配置文件详解,需要的朋友可以参考下。 user nginx nginx ; 定义Nginx运行的用户和用户组。window下不指定 worker_proc…

    2017年12月19日
    000
  • Debian 12.7安装Nginx

    一、Nginx简介 Nginx(engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量…

    2024年11月7日
    000
  • Nginx参数详解+Rewrite规则

    Nginx参数详解 Nginx常用配置参数有upstream,主要用于均衡后端多个实例: Nginx 的upstream目前支持5种算法分配方式: 轮询(默认rr round ro…

    2018年1月18日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注