第11章Nginx网站服务本章结构Nginx网站服务配置文件nginx.conf状态统计及虚拟主机应用nginx介绍Nginx服务基础nginx应用nginx应用场景安装及运行控制一款高性能、轻量级Web服务软件始用于俄罗斯的Rambler.ru站点市场占有率迅速跃居第三位官方网站关于Nginx特点特点业务建议Pcre全称(PerlCompatibleRegularExpressions),中文perl兼容正则表达式官方站点,安装pcre库是为了使Nginx支持HTTPRewrite模块tarzxfpcre-8.30.tar.gzcdpcre-8.30/./configuremake&&makeinstallyuminstallopensslopenssl-devel-y安装nginxtarzxvfnginx-1.6.2.tar.gz./configure--user=nginx--group=nginx--prefix=/application/nginx-1.6.2--with-http_stub_status_module--with-http_ssl_modulemake&&makeinstallfind/-namelibpcre.so.1//找到库文件路径加入到vi/etc/ld.so.conf//这个文件中ldconfig//重新加载配置文件然后再执行make或makeinstall启用状态统计模块启动nginxuseraddnginx-s/sbin/nologin-M创建账号/application/nginx/sbin/nginx启动程序lsof-i:80查看端口是否启动成功如何测试wget127.0.0.1curl127.0.0.1在虚拟机外面Nginx的运行控制语法检查:nginx-t[-c配置文件]启动程序:nginx[-c配置文件]关闭/杀死程序:发送QUIT/KILL进程信号重载配置:发送HUP进程信号Nginx安装及服务控制3-2[root@localhost~]#nginx-tnginx:theconfigurationfile/usr/local/nginx/conf/nginx.confsyntaxisoknginx:configurationfile/usr/local/nginx/conf/nginx.conftestissuccessful[root@localhost~]#nginx[root@localhost~]#netstat-anpt|grepnginxtcp000.0.0.0:800.0.0.0:*LISTEN26088/nginx:master[root@localhost~]#cat/usr/local/nginx/logs/nginx.pid22378[root@localhost~]#kill-sQUIT22378等同于killall-sQUITnginx添加nginx服务编写/etc/init.d/nginx脚本使用chkconfig添加为系统服务Nginx安装及服务控制3-3[root@localhost~]#vi/etc/init.d/nginx#!/bin/bash#chkconfig:-9920……case$1instart)/usr/local/nginx/sbin/nginx;;stop)kill-sQUIT$(cat/usr/local/nginx/logs/nginx.pid);;……[root@localhost~]#chmod+x/etc/init.d/nginx[root@localhost~]#chkconfig--addnginx配置文件nginx.conf改为epoll模式之后./sbin/nginx-sreload优雅的重启全局配置、I/O事件配置nginx.conf配置文件2-1[root@localhost~]#vi/usr/local/nginx/conf/nginx.conf……#usernobody;worker_processes1;#error_loglogs/error.log;#pidlogs/nginx.pid;……events{useepoll;worker_connections4096;}……工作进程数量日志文件位置I/O事件模型每进程连接数HTTP监听配置nginx.conf配置文件2-2[root@localhost~]#vi/usr/local/nginx/conf/nginx.conf……http{access_loglogs/access.logmain;sendfileon;keepalive_timeout65;……server{listen80;server_name{roothtml;indexindex.htmlindex.php;}}网站根目录位置监听地址及端口启用统计页面location~/status{stub_statuson;access_logoff;}访问统计页面的访问状态统计请思考:Nginx与Apache相比,具有哪些优势?如何启动、关闭Nginx服务程序?如何修改Nginx服务器的监听地址、网站目录?小结基于域名的虚拟主机多个server{}区域不同的server_name、root设置虚拟Web主机2-1http{……server{server_name{root/var/}}server{server_name{root/var/}}}第1个虚拟主机第2个虚拟主机基于IP地址的虚拟主机多个server{}区域不同的listen、server_name、root设置虚拟Web主机2-2http{……server{listen192.168.4.11:80;server_name……}server{listen192.168.4.22:80;server_name……}}如果直接通过IP地址访问,各虚拟主机的域名也可以相同禁止ip地址访问单独设置一个server项server{listen80;location/{return404;}}设置别名301rewrite地址重写server{listen80;server_namebenet.org;rewrite^/(.*)$}注意:需要单独占用一个server项切割日志过程需要在http层面将log_format前面的#去掉每个server设置日志路径access_loglogs/加入sever级别切割日志脚本cd/application/nginx/logs&&\DATE=$(date+%F)mv{DATE}.logmvbbs_access.logbbs_access_${DATE}.logmvblog_access.logblog_access_${DATE}.log/application/nginx/sbin/nginx-sreload[root@oldboytrainingscripts]#crontab-l|tail-2###########0000***/bin/sh/server/scripts/cut_nginx_log.sh/dev/null2&1本章结构Nginx网站服务配置文件nginx.conf状态统计及虚拟主机应用nginx介绍Nginx服务基础nginx应用nginx应用场景安装及运行控制