升木 发表于 2018-11-14 09:16:05

nginx配置用户认证

  一、查看当前系统参数
  # uname –r//查看系统内核版本号
  2.6.32-279.el6.i686
  # cat /etc/redhat-release //查看系统版本号

  Red Hat Enterprise Linux Server>  ##二、编辑虚拟主机配置文件
  # vim /usr/local/nginx/conf/nginx.conf //主配置文件中http字段中添加以下语句,将虚拟主机的配置文件指向www1.rsyslog.org
  include /usr/local/nginx/server/www1.rsyslog.org;
  # vim /usr/local/nginx/server/www1.rsyslog.org
  server {
  listen       80;//监听端口为80
  server_namewww1.rsyslog.org;//虚拟主机网址
  location / {
  root   sites/www1;//虚拟主机网站根目录
  indexindex.html index.htm;//虚拟主机首页
  auth_basic "secret";//虚拟主机认证命名
  auth_basic_user_file /usr/local/nginx/passwd.db; //虚拟主机用户名密码认证数据库
  }
  location /status {
  stub_status on;//开启网站监控状态
  access_log /usr/local/nginx/logs/www1_status.log; //监控日志
  auth_basic "NginxStatus"; }
  }
  ##三、通过htpasswd命令生成用户名及对应密码数据库文件。
  # htpasswd -c /usr/local/nginx/passwd.db xiaonuo//创建认证信息,xiaonuo 为认证用户名
  New password: *******//输入认证密码
  Re-type new password: ********//再次输入认证密码
  Adding password for user xiaonuo
  也可使用OpenSSL生产用户名密码:printf "ssjlog:$(openssl passwd -crypt 123456)\n" >>conf/htpasswd
  #
  # chmod 400 /usr/local/nginx/passwd.db//修改网站认证数据库权限
  # chown nginx./usr/local/nginx/passwd.db//修改网站认证数据库属主和属组
  # cat /usr/local/nginx/passwd.db//可以看到通过htpasswd生成的密码为加密格式
  xiaonuo:8eZAz7BqcrXmY
  #
  ##四、平滑重启nginx服务

  # /etc/rc.d/init.d/nginx>  nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
  nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
  Reloading nginx:                                          
  五、nginx运行状态监控配置
  1、通过web界面查看时Nginx需要开启status模块,也就是安装Nginx时加上--with-http_stub_status_module,在nginx.conf的server块中添加如下代码:
  location /status {
  # Turn on nginx stats
  stub_status on;
  # I do not need logs for stats
  access_log   off;
  # Security: Only allow access from 192.168.1.100 IP #
  #allow 192.168.1.100;
  # Send rest of the world to /dev/null #
  #deny all;
  }
  配置完后重新启动Nginx后我们可以通过浏览器访问http://localhost/status 查看
  2、解析:
  Active connections    //当前 Nginx 正处理的活动连接数。
  server accepts handled requests //总共处理了8 个连接 , 成功创建 8 次握手,总共处理了500个请求。
  Reading //nginx 读取到客户端的 Header 信息数。
  Writing //nginx 返回给客户端的 Header 信息数。
  Waiting //开启 keep-alive 的情况下,这个值等于 active - (reading + writing),意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接
  3、通过命令查看tcp状态
  #netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S}'
  TIME_WAIT 17
  ESTABLISHED 3254
  LAST_ACK 236
  FIN_WAIT_1 648
  FIN_WAIT_2 581
  CLOSING 7
  CLOSE_WAIT 4916
  解析:
  CLOSED//无连接是活动的或正在进行
  LISTEN//服务器在等待进入呼叫
  SYN_RECV//一个连接请求已经到达,等待确认
  SYN_SENT//应用已经开始,打开一个连接
  ESTABLISHED//正常数据传输状态/当前并发连接数
  FIN_WAIT1//应用说它已经完成
  FIN_WAIT2//另一边已同意释放
  ITMED_WAIT//等待所有分组死掉
  CLOSING//两边同时尝试关闭
  TIME_WAIT//另一边已初始化一个释放
  LAST_ACK//等待所有分组死掉
  4、查看进程打开文件数量
  lsof -p

页: [1]
查看完整版本: nginx配置用户认证