经朋友推荐Nginx服务器,接下来的时间将研究一下该服务器
由于目前身边只有一个xp的系统,所以介绍一下Nginx在Win32环境下的配置
1、下载:http://nginx.org/en/download.html
我下载的是稳定版本 nginx-1.2.3.zip
2、将该文件放在无空格的目录下,比如放在E:\nginx-1.2.3.zip
开始—>运行—>cmd
然后执行一下命令:
- C:\Documents and Settings\Administrator>e:
- E:\>unzip nginx-1.2.3.zip
- E:\>cd nginx-1.2.3
- E:\nginx-1.2.3>start nginx
打开“任务管理器”
会看到产生了两个进程:
同样我们也可以使用一下命令查看:
- tasklist /fi "imagename eq nginx.exe"
运行一下如下图:
一个进程是主过程,另一个是工作进程。
3、在浏览器中输入:http://localhost或者http://127.0.0.1
会看到如下页面,说明Nginx启动成功
4、常用基本命令:
nginx -s stop | fast shutdown |
nginx -s quit | graceful shutdown |
nginx -s reload |
changing configuration, starting new worker processes with a new configuration, graceful shutdown of old worker processes |
5、说一下配置文件
- #定义Nginx运行的用户及组,如user www www;
- #user nobody;
- #定义启动进程数,一般配置为小于cpu数
- worker_processes 1;
- #全局错误日志及PID文件
- #error_log logs/error.log;
- #error_log logs/error.log notice;
- #error_log logs/error.log info;
- #pid logs/nginx.pid;
- #工作模式及连接数上限
- events {
- #use epoll;#参考事件模型
- worker_connections 1024;
- }
- #设定http服务器(利用它的反向代理功能提供负载均衡支持)
- http {
- include mime.types;#文件扩展名与文件类型映射表
- default_type application/octet-stream;#默认文件类型
- #charset gb2312;#默认编码
- #日志设定
- #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 logs/access.log main;
- #server_names_hash_bucket_size 128; #服务器名字的hash表大小
- sendfile on;
- #tcp_nopush on;#防止网络阻塞
- #tcp_nodelay on;#防止网络阻塞
- #keepalive_timeout 0;
- keepalive_timeout 65;#超时时间
- #FastCGI是为了改善网站的性能——减少资源占用,提高访问速度,详细资料:参阅 http://www.fastcgi.com
- #fastcgi_connect_timeout 300;
- #gzip on;
- #gzip_min_length 1k; #最小压缩文件大小
- server {
- listen 80;
- server_name localhost;
- #charset koi8-r;
- #access_log logs/host.access.log main;
- location / {
- root html;
- index index.html index.htm;
- }
- #error_page 404 /404.html;
- # redirect server error pages to the static page /50x.html
- #
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root 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;
- #}
- }
- # another virtual host using mix of IP-, name-, and port-based configuration
- #
- #server {
- # listen 8000;
- # listen somename:8080;
- # server_name somename alias another.alias;
- # location / {
- # root html;
- # index index.html index.htm;
- # }
- #}
- # HTTPS server
- #
- #server {
- # listen 443;
- # server_name localhost;
- # ssl on;
- # ssl_certificate cert.pem;
- # ssl_certificate_key cert.key;
- # ssl_session_timeout 5m;
- # ssl_protocols SSLv2 SSLv3 TLSv1;
- # ssl_ciphers HIGH:!aNULL:!MD5;
- # ssl_prefer_server_ciphers on;
- # location / {
- # root html;
- # index index.html index.htm;
- # }
- #}
- }
研究完配置文件,对比了一下Tomcat服务器的配置,基本功能是一致的,现在我们单独摘除 首页配置
- location / {
- root html;
- index index.html index.htm;
- }
改为
- location / {
- root html;
- index ak47.html index.html index.htm;
- }
并在E:\nginx-1.2.3\html 目录下添加自定义的文件ak47.html
- <html>
- <head>
- <title>特种兵—AK47</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- </head>
- <body bgcolor="white" text="black">
- <center><h1>欢迎来到特种兵—AK47 Nginx学习笔记页面</h1></center>
- </body>
- </html>
在命令号输入:
- E:\nginx-1.2.3>nginx -s reload
显示如下:
注:
①如果Nginx未启动,可以在logs\error.log中查找原因
②如果日志文件没有被创建,可以在Windows事件日志中查找原因
③如果显示的是一个错误页面,而不是预期的页面,也可以在logs\error.log中查找原因
④尽管可以同时开多个Nginx线程,但是实际上只有其中一个在做所有的工作。一个Nginx可以处理 不超过1024个并发连接