nginx——配置与日志

nginx的配置文件

  1. 首先查看我们nginx安装在哪(具体环境具体分析): whereis nginx

    whereis nginx
    nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx 
    

    可以看到

    • /usr/sbin/nginx :放置nginx的二进制文件
    • /etc/nginx:放置nginx的配置

    2.进入打开配置文件看一看我的配置:/etc/nginx/nginx.conf

    user www-data;
    # 工作的子进程数,一般为CPU数* 核数,多了会抢占CPU
    worker_processes auto;	
    # 记录nginx的pid的文件
    pid /run/nginx.pid;
    include /etc/nginx/modules-enabled/*.conf;
    
    events {
    	# 配置nginx的链接特性
    	worker_connections 768;	# 允许一个子进程最大允许连接
    	# multi_accept on;
    }
    
    http {
    	##
    	# Basic Settings 配置http服务器
    	##
    	sendfile on;
    	tcp_nopush on;
    	tcp_nodelay on;
    	keepalive_timeout 65;
    	types_hash_max_size 2048;
    	# server_tokens off;
    	# server_names_hash_bucket_size 64;
    	# server_name_in_redirect off;
    
    	include /etc/nginx/mime.types;
    	default_type application/octet-stream;
    
    	##
    	# SSL Settings
    	##
    
    	ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    	ssl_prefer_server_ciphers on;
    
    	##
    	# Logging Settings 设置http服务器允许的日志和错误日志
    	##
    	access_log /var/log/nginx/access.log;
    	error_log /var/log/nginx/error.log;
    
    	##
    	# Gzip Settings
    	##
    	gzip on;
    	# gzip_vary on;
    	# gzip_proxied any;
    	# gzip_comp_level 6;
    	# gzip_buffers 16 8k;
    	# gzip_http_version 1.1;
    	# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    
    	##
    	# Virtual Host Configs	配置虚拟主机
    	##
    	include /etc/nginx/conf.d/*.conf;
    	include /etc/nginx/sites-enabled/*;
    	# 将每个虚拟主机的配置都统一放到vhost文件夹了
    	include /etc/nginx/vhost/*.conf;	
    }
    
    ##
    # Basic Settings 配置邮件服务器
    ##
    #mail {
    #	# See sample authentication script at:
    #	# http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
    #	# auth_http localhost/auth.php;
    #	# pop3_capabilities "TOP" "USER";
    #	# imap_capabilities "IMAP4rev1" "UIDPLUS";
    #	server {
    #		listen     localhost:110;
    #		protocol   pop3;
    #		proxy      on;
    #	}
    #	server {
    #		listen     localhost:143;
    #		protocol   imap;
    #		proxy      on;
    #	}
    #}
    
    

nginx的虚拟主机配置

打开一份最为简单的vhost.conf配置

server {
    charset utf-8;
    client_max_body_size 128M;
    ## listen for ipv4
    listen 80; 	
    ## listen for ipv6
    #listen [::]:80 default_server ipv6only=on; 

    server_name test-Api.com;
    access_log /var/log/nginx/api.com.access.log;
    error_log /var/log/nginx/api.com.error.log;
    
    location / {
    	root        /var/www/html/Api/public;
    	index       index.php;
        # Redirect everything that isn't a real file to index.php
        # try_files $uri $uri/ /index.php$is_args$args;
    }
}

1.域名:可以设置不同的域名设置多个server

server_name test-api2.com;

2.端口:可以通过设置监听不同的端口设置不同的server。

listen 9501;

3.ip:如果有多个网卡,设置不同ip设置多个server

server_name 192.168.1.1;

4.重新加载配置文件

sudo service nginx reload

由于nginx的进程号都会写到 /run/nginx.pid

所以我们也可以  sudo kill -SIGNAL cat ‘/run/nginx.pid’

nginx的日志管理

  1. 查看nginx记录的日志,文件的路径可以在**/etc/nginx/nginx.conf**里面的access_log和error_log设置的路径查看

  2. 也可以在自己配置的多个server写不同的日志到不同的目录,在**/etc/nginx/vhost/*.conf**里面可以设置

  3. 可以设置写入日志的格式,默认是main,也可以自己通过log_format设置,主要参数有:

    • $remote_addr:客户端请求地址
    • $remote_user:客户端请求验证的用户名:这里没有,空
    • $time_local:本地时间  [10/Dec/2018:20:06:48 +0800]
    • $request:完整的原始请求行
    • $status:服务端响应的状态码
    • $body_bytes_sent:服务端返回给客户端字节大小
    • $http_referer:来源,请求是从哪个网址过来的,url跳转来源
    • $http_user_agent:请求的客户端的UA
    • $http_x_forwarded_for:客户端请求的真实IP,如果代理存在,即有值,否则没值
    • $request_time:整个请求总时间
  4. 默认的格式main是:

     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                       '$status $body_bytes_sent "$http_referer" '
                       '"$http_user_agent" "$http_x_forwarded_for"';
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值