nginx配置最全的详解有哪些?

TheDisguiser 2020-05-05 15:24:19 java常见问答 8548

很多新人都跟小编一样,刚开始学都是茫然状态,不了解nginx配置到底有什么,今天小编给新人们带来了一篇最全的nginx配置组详解。

Nginx理念

nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。

Nginx基本配置文件详解

完成nginx安装之后,想知道系统中多了哪些文件,安装到了哪里,我们可以使用下面的命令进行查看:

rpm -ql nginx

rpm 是linux的rpm包管理工具,-q 代表询问模式,-l 代表返回列表,这样我们就可以找到nginx的所有安装位置了。

[root @localhost~]# rpm - ql nginx /
    etc / logrotate.d / nginx /
    etc / nginx /
    etc / nginx / conf.d /
    etc / nginx / conf.d /
    default.conf /
    etc / nginx / fastcgi_params /
    etc / nginx / koi - utf /
    etc / nginx / koi - win /
    etc / nginx / mime.types /
    etc / nginx / modules /
    etc / nginx / nginx.conf /
    etc / nginx / scgi_params /
    etc / nginx / uwsgi_params /
    etc / nginx / win - utf /
    etc / rc.d / init.d / nginx /
    etc / rc.d / init.d / nginx - debug /
    etc / sysconfig / nginx /
    etc / sysconfig / nginx - debug /
    usr / lib64 / nginx /
    usr / lib64 / nginx / modules /
    usr / sbin / nginx /
    usr / sbin / nginx - debug /
    usr / share / doc / nginx - 1.14 .0 /
    usr / share / doc / nginx - 1.14 .0 / COPYRIGHT /
    usr / share / man / man8 / nginx .8.gz /
    usr / share / nginx /
    usr / share / nginx / html /
    usr / share / nginx / html / 50 x.html /
    usr / share / nginx / html / index.html /
    var / cache / nginx /
    var / log / nginx

nginx.conf文件解读

nginx文件是Nginx的总配置文件,是我们搭建服务器时经常调整的文件。

使用如下命令打开nginx.conf文件

vim /etc/nginx/nginx.conf

下面是文件注释:

# 运行用户,默认是nginx,可以不进行设置
user  nginx;
#Nginx进程,一般设置和cpu核数一样
worker_processes  1;
#错误日志存放位置
error_log  /var/log/nginx/error.log warn;
#进程pid存放位置
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;#单个后台进程的最大并发数
}
http {
    include       /etc/nginx/mime.types;#文件扩展名和类型映射表
    default_type  application/octet-stream;#默认的文件类型
    #设置日志模式
    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;#nginx访问日志的存放位置
    sendfile        off;#是否开启高效传输模式 on开启 off关闭
    #tcp_nopush     on;#减少网络报文段的数量
    keepalive_timeout  65; #保持连接的时间,也叫超时时间
    #gzip  on;#开启gzip压缩模式
    include /etc/nginx/conf.d/*.conf;#包含的子配置项的位置和文件
}

default.conf配置项详解

在nginx.conf配置项文件里面的最后一行,我们打开inclue子文件目录里面都是些什么内容,有些文件需要自己配置。

[root @localhost conf.d]# lsdefault.conf
default.conf.bak
default.conf.rpmnew
quickapp - local.conf ssl.conf test - 8081. conf test - 8082. conf theme.crt theme.csr
theme.key theme_nopass.key

然后使用cat default.conf进行查看

server {
    listen       80;   #配置监听端口
    server_name  localhost;  //配置域名
    #charset koi8-r;     
    #access_log  /var/log/nginx/host.access.log  main;
    location / {
        root   /usr/share/nginx/html;     #服务默认启动目录
        index  index.html index.htm;    #默认访问文件
    }
    #error_page  404              /404.html;   # 配置404页面
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;   #错误状态码的显示页面,配置后需要重启
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ .php$ {
    #    proxy_pass   http://127.0.0.1;
    #}
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ .php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /.ht {
    #    deny  all;
    #}
}

明白了这些配置项,我们知道我们的服务目录放在了/usr/share/nginx/html下,我们就可以使用命令进入看一下目录下的文件。

[root@localhost html]# ls
50x.html index.html

这样就配置成功了

以上就是本文的全部内容了,更多Java架构师相关内容请多多关注我们了解吧。