Nginx基础(一)

Nginx基础知识

Nginx简介:

Nginx(发音为"engine X")是一个高性能的开源Web服务器,也可以用作反向代理服务器、负载均衡器、HTTP缓存以及作为邮件代理服务器。Nginx以其出色的性能、高可靠性和低资源消耗而闻名,因此在许多大型网站和应用中被广泛使用。

Nginx的一些主要特点和优势:

  • 高性能和高并发处理能力:Nginx采用了事件驱动的异步架构,能够有效地处理大量并发连接,提供出色的性能表现。

  • 低资源消耗:相比传统的Web服务器,如Apache,Nginx的内存和CPU使用率更低,能够更有效地利用服务器资源。

  • 模块化设计:Nginx具有丰富的模块化设计,允许用户通过加载不同的模块来扩展其功能,例如HTTP反向代理、负载均衡、SSL/TLS加密、URL重写等。

  • 灵活的配置选项:Nginx提供了灵活且易于理解的配置选项,使用户可以轻松地定制和优化服务器配置,以满足特定的需求。

  • 高度可靠性:Nginx经过了长时间的生产环境验证,在高负载和高流量的情况下表现稳定可靠。

  • 支持反向代理和负载均衡:Nginx可以作为反向代理服务器,将请求转发给后端的应用服务器,也可以实现负载均衡,将流量分发到多个服务器上,提高系统的稳定性和性能。

  • HTTP缓存:Nginx支持HTTP缓存功能,可以将静态内容缓存到内存或磁盘中,加速网站的访问速度。

Nginx开源版的安装方式:

  • 编译安装
  • 包管理器(YUM、apt等安装)
  • 我们这里使用yum安装

YUM安装Nginx:
配置官网yum源,一键安装即可

cat > /etc/yum.repos.d/nginx.repo << 'EOF'
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
EOF

2.清空yum源,安装最新版nginx
yum clean all

yum install nginx -y

systemctl start nginx
systemctl enable nginx

常用命令

nginx -s stop       快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。
nginx -s quit       平稳关闭Nginx,保存相关信息,有安排的结束web服务。
nginx -s reload     因改变了Nginx相关配置,需要重新加载配置而重载。
nginx -s reopen     重新打开日志文件。
nginx -c filename   为 Nginx 指定一个配置文件,来代替缺省的。
nginx -t            不运行,仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。
nginx -v            显示 nginx 的版本。
nginx -V            显示 nginx 的版本,编译器版本和配置参数。

Nginx安装后配置文件的位置

YUM安装

/etc/nginx/nginx.conf #主配置文件
/etc/nginx/conf.d #子配置文件 用户配置虚拟机
/var/log/nginx/access.log
/usr/share/nginx/html/index.html # ,默认主页
/usr/sbin/nginx

编译安装
#编译安装的文件目录位置是自定义的一般可设置为:
/opt/ngx/conf/nginx.conf
/opt/ngx/logs/access.log
/opt/ngx/html/index.html
/opt/ngx/sbin/nginx

配置文件详解

Nginx的功能,大部分都是通过修改主配置文件nginx.conf和conf.d里面的字配置文件实现的

主配置文件
/etc/nginx/nginx.conf

nginx.conf入口配置文件

user  www;    # 设置worker的运行用户

worker_processes auto; #是在 Nginx 配置文件中设置工作进程数量的一种方式。具体而言,auto 关键字告诉 Nginx 根据系统的可用 CPU 核心数量自动确定工作进程的数量。

error_log  /var/log/nginx/error.log notice;  #开启错误日志,notice级别

pid     /var/run/nginx.pid;   # Nginx 主进程的 PID 将被写入 /var/run/nginx.pid 文件。

events {
    worker_connections  1024; #这个配置项用于设置每个 Nginx 工作进程的最大并发连接数
}

http {
    include      /etc/nginx/mime.types;  #定义的 MIME 类型
    default_type  application/octet-stream; # 定义的 MIME 类型

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    
    include /etc/nginx/conf.d/*.conf;   # include导入该目录下的*.conf配置文件
    
    ##优化的一些功能
    error_page ...
    
    sendfile        on; # 启用 sendfile 可以提高文件传输的效率,特别是在处理大文件时。
    #tcp_nopush     on; #当启用时,TCP_NOPUSH 选项会告诉内核等待一定量的数据再发送,以减少发送的 TCP 数据包的数量
    keepalive_timeout  65;#定义了客户端与服务器之间的持久连接的超时时间,连接在 65 秒内没有活动时将被关闭。
    #gzip  on; # 当启用时,Nginx 将尝试使用 Gzip 压缩传输给客户端的内容,以减小传输的数据量,提高网络性能。

}

子配置文件

通过子配置文件实现虚拟主机功能:

  • 基于IP的方式
  • 基于域名的方式
  • 基于端口的方式
    /etc/nginx/conf.d/test.conf
server { 
        listen 端口;
        #listen 10.0.0.5:81   #这是基于多端口设置虚拟主机
        
        server_name _域名;   #这是基于多端口设置虚拟主机
        # 支持中文的参数
        charset utf-8;
        location  /  {
                root  /www/huoying/;
                # 默认找 /www/huoying/ 的名字叫做index.html的文件
                index  index.html;
        }
        
}

使用案例

主配置文件无需修改,编辑子配置文件

vim /etc/nginx/conf.d/ts.conf:

server { 
        listen 80;
        
        server_name _;  
        charset utf-8;
        location  /  {
                root  /www/test/;
                # 默认找 /www/test/ 的名字叫做index.html的文件
                index  index.html;
        }
        
}

#检查语法:nginx -t
[root@nginx ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful


#创建文件夹
[root@nginx ~]# mkdir -p /www/test/

#修改权限
[root@nginx ~]# chown -R nginx.nginx /www

#创建首页文件
vim /www/test/index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>简单的前端页面测试</title>
</head>
<body>
    <h1>欢迎来到我的测试页面</h1>
    <p>关注我微信公众号:运维星球</p>
</body>
</html>

重新加载配置文件

[root@nginx ~]# nginx -s reload
访问测试
在这里插入图片描述

总结

Nginx是一款高性能的开源Web服务器,可用于反向代理、负载均衡等。安装方式包括编译安装和包管理器安装,常用命令包括启动、停止、重载配置等。配置文件分为主配置文件和子配置文件,可以实现虚拟主机等功能。通过简单的案例演示,可以快速上手使用Nginx搭建Web服务。

关注我:分享更多运维知识

在这里插入图片描述

  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nginx基础配置可以在其配置文件nginx.conf中找到。配置文件的路径通常是/nginx/conf/nginx.conf。 在nginx.conf文件中,可以设置许多选项来配置nginx的行为。其中一些基本的配置选项包括: - http块:在配置文件中,http块定义了全局的http配置,包括一些常用的配置项,如mime.types文件的引入、代理配置文件的引入、fastcgi配置文件的引入以及默认的索引文件等。 - server块:在http块中,可以有多个server块,每个server块定义了一个虚拟主机的配置信息。可以在每个server块中指定域名或IP地址,以及监听的端口号等。 - location块:在server块中,可以有多个location块,每个location块定义了一组匹配规则和对应的处理方式。可以通过location块来指定请求的URL匹配规则,并根据规则配置相应的处理方式,如代理请求到其他服务器、处理静态文件等。 此外,nginx还支持在配置文件中引入其他文件,以便更好地组织和管理配置。例如,可以在nginx.conf中使用include指令来引入其他配置文件,如mime.types、proxy.conf和fastcgi.conf。 总结起来,nginx基础配置可以在nginx.conf文件中找到,其中包括http块、server块和location块等配置项。可以使用include指令来引入其他配置文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Nginx的基本配置](https://blog.csdn.net/weixin_46007090/article/details/120105907)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Nginx基础配置](https://blog.csdn.net/weixin_41968982/article/details/123687834)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值