当前位置: 移动技术网 > 网络运营>服务器>nginx > Nginx的使用经验小结

Nginx的使用经验小结

2019年04月18日  | 移动技术网网络运营  | 我要评论

风水先生杨步云看的准,成都太平洋电影城,追逐彩虹女神的微笑

nginx

nginx简单介绍

一款轻量级的web服务器/反向代理服务器及电子邮件(imap/pop3)代理服务器

nginx命令参数

nginx -t 测试配置是否正确
nginx -s reload 加载最新配置
nginx -s stop 立即停止
nginx -s quit 优雅停止
nginx -s reopen 重新打开日志
kill -usr2 cat /usr/local/nginx/logs/nginx.pid 快速重启

nginx全局段配置

worker_processes 1;工作进程为1个 cpu 数量 * 核数
events 区段 网卡请求 80 443 nginx 触发事件

nginx配置虚拟主机

listen
server_name
location

nginx日志管理

* 系统默认日志格式:log_format main '$remote_addr $request_length $body_bytes_sent $request_time[s] - - [$time_local] ' '"$request" $status $http_referer "-" "$http_user_agent" $server_name $server_addr $http_x_forwarded_for $http_x_real_ip';
* 自定义日志格式:log_format simple '$remote_addr -- $request'
* 系统默认日志释义:远程ip-远程用户/用户时间 请求方法 请求body长度长度 referer 来源信息 http-user-agent 用户代理/蜘蛛 被转发请求的原始ip http_x_forwarded_for 在经过代理是 代理把你的本来的ip加在此头信息中,传输你的原始ip

nginx-laravel5 项目搭建

window上传本地项目使用 securecrt-sftp put get 命令上传 connect sftp session, 远程:cd 本地:lcd,lpwd, put *.zip
laravel5返回500权限修改:1.chmod 777 -r storage 2.chmod 777 -r bootstrap/cache/
配置env : vi .env 修改数据库配置相关参数
执行 php artisan migrate 创建数据表

nginx 支持pathinfo

# 典型配置
location ~ \.php$ {
  root      html;
  fastcgi_pass  127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param script_filename $document_root$fastcgi_script_name;
  include    fastcgi_params;
}

# 修改第1,6行,支持pathinfo

location ~ \.php(.*)$ { # 正则匹配.php后的pathinfo部分
  root html;
  fastcgi_pass  127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param script_filename $document_root$fastcgi_script_name;
  fastcgi_param path_info $1; # 把pathinfo部分赋给path_info变量
  include    fastcgi_params;
}

nginx 支持url重写

1.如果 不是资源文件就重写

if (!-e $request_filename) {
  rewrite (.*)$ /index.php/$1;
}

2.try_files

try_files $uri $uri/ /index.php?$args;

nginx 反向代理与动静分离

用nginx做反向代理用proxy_pass,以反向代理为例,nginx不自己处理图片的相关请求,而是把图片的请求转发给apache处理。

location ~\.(jpg|jpeg|png|gif)${
   proxy_pass http://ip:port;
 }

反向代理导致了后端服务器接到客户端ip为前端服务器的ip而不是真正的ip解决方案

location ~ \.(jpg|jpeg|png|gif) {
   proxy_set_header x-forwarded-for $remote_addr;
   proxy_pass ip:port;
 }


nginx 集群和负载均衡

upstream{} 模块 把多台服务器加入到一个组 然后 memcache pass, fastcgi_pass, proxy_pass => upstream 组

配置upstream

 upstream web{
   server ip:8080 weight=1 max_fails=2 fail_timeout=30s;
   server ip2:80 weight=1 max_fails=2 fail_timeout=30s;
 } 
 

  下游调用

 location ~ \.(jpg|png|gif|jpeg) {
 proxy_set_header x-forwarded-for $remote_addr;
     proxy_pass http://web;
 }

负载均衡常见的策略释义

基于cookie值区别做负载均衡(nginx sticky 们模块)
  基于uri利用一致性哈希算法做均衡(nginxhttpupstreamconsistenthash 模块)
  基于ip做负载均衡

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网