首页 > 技术文章 > linux下面安装和配置nginx

wala-wo 2013-09-13 14:58 原文


下载nginx-1.0.2.tar.gz

wget nginx-1.0.2.tar.gz

解压 nginx-1.0.2.tar.gz

tar -xzvf nginx-1.0.2.tar.gz

配置安装参数

./configure --with



./configure --with-http_stub_status_module --with-pcre=/home/zouqf/pcre-8.21


是/home



./configure 配置后结果

Configuration summary
  + using PCRE library: /home/zouqf/pcre-8.21
  + md5 library is not used
  + OpenSSL library is not used
  + using system zlib library

  nginx path prefix: /usr/local/nginx
  nginx binary file: /usr/local/nginx/sbin/nginx
  nginx configuration file: /usr/local/nginx/conf/nginx.conf
  nginx pid file: /usr/local/nginx/logs/nginx.pid
  nginx error log file: /usr/local/nginx/logs/error.log
  nginx http access log file: /usr/local/nginx/logs/access.log


资料

http://developer.51cto.com/art/201004/194472.htm

http://wiki.nginx.org/ChsInstall



测试是否安装成功

 

[root@localhost nginx-1.2.6]# cd  /usr/local/nginx/sbin

[root@localhost sbin]# ./nginx -t

 

 

启动nginx

[root@localhost sbin]# ./nginx

查看端口

[root@localhost sbin]# netstat -ntlp

 


配置nginx



    5) 检查是否安装成功

         cd  /usr/local/nginx/sbin

         ./nginx -t 

         结果显示:

        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

       6)启动nginx 

          cd  /usr/local/nginx/sbin 目录下面 输入 ./nginx 启动 nginx

       7 )检查是否启动成功

          ie 浏览器中输入 http://192.168.15.132


杀死所有的nginx服务进程

killall nginx


重启nginx

service nginx restart 



curl访问html


1) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off

2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop


设置iptables的过滤规则要注意规则的先后顺序,不能随意存放,否则会导致设置的规则不生效

[root@RAID nginx]# vi /etc/sysconfig/iptables

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18888 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT


nginx 据说可以支持5w的并发数,nginx实现反向代理、负载均衡




 

无需重启服务器。

在虚拟主机(假设为www.example.com)的配置文件中加上:

 

location /nginxStatus {   

  1.      stub_status         on;   
  2.      access_log          on;   
  3.      auth_basic         "Nginx Status";   
  4.      auth_basic_user_file conf/htpasswd;   
  5.    }  

location /nginxStatus { stub_status on; access_log on; auth_basic "Nginx Status"; auth_basic_user_file conf/htpasswd; }

则直接可以通过访问 www.example.com/nginxStatus查看信息

但是需要注意,在这里我们打开了安全验证。

 

  1. auth_basic         "Nginx Status"; #密码验证的提示语   
  2. auth_basic_user_file conf/htpasswd;#用户名和密码存放的文件  

auth_basic "Nginx Status"; #密码验证的提示语 auth_basic_user_file conf/htpasswd;#用户名和密码存放的文件

关于那个文件的生成,请参见工具htpasswd的使用。

文件中的数据格式是:

user:cryt-password

#用户名称:加密后的密码

这里给大家提供一些在线加密的网站:

http://www.htaccesstools.com/htpasswd-generator/

http://home.flash.net/cgi-bin/pw.pl

 

在配置完毕后,让我们重载配置文件:

  1. sudo service nginx reload     (linux 系统方法)
  2. /usr/local/etc/rc.d/nginx reload   (FreeBSD 方法)








nginx status状态查看设置
在配置文件 /usr/local/server/nginx/conf/nginx.conf中添加

#设定查看Nginx状态的地址,添加如下

  1.                location /NginxStatus {
  2.                         stub_status             on;
  3.                         access_log              on;
  4.                         auth_basic              "NginxStatus";
  5.                         auth_basic_user_file conf/htpasswd;
  6.                 }
复制代码

输入地址 http://10.0.0.1/NginxStatus/,输入验证帐号密码,即可

==============================================

无密码,限访问IP

  1. location /nginx_status {
  2.   stub_status on;
  3.   access_log   off;
  4.   allow SOME.IP.ADD.RESS;   #例:allow 10.0.0.1/24
  5.   deny all;
  6. }
复制代码

 






 

Nginx配置中运行与启动的详细介绍

2010-03-25 17:29 佚名 博客园 我要评论(1) 字号:T | T
一键收藏,随时查看,分享好友!

Nginx配置一个神奇的Web服务器,我们在使用的时候有不少需要注意的,接下来我们就看看如何才能简单明了的进行Nginx服务器的配置。

AD:2013云计算架构师峰会超低价抢票中

 

我们在进行Nginx配置的时候会出现很多不明白的地方,其实有些时候只要换一个思维的方式就能找多你要解决问题的方法。下面我们就向大家详细的介绍有关Nginx配置的相关信息。

  1. #运行用户   
  2. user nobody nobody;   
  3. #启动进程   
  4. worker_processes 2;   
  5. #全局错误日志及PID文档   
  6. error_log logs/error.log notice;   
  7. pid logs/Nginx.pid;   
  8. #工作模式及连接数上限   
  9. events {   
  10. use epoll;   
  11. worker_connections 1024;   
  12. }   
  13. #设定http服务器,利用他的反向代理功能提供负载均衡支持   
  14. http {   
  15. #设定mime类型   
  16. include conf/mime.types;   
  17. default_type application/octet-stream;   
  18. #设定日志格式   
  19. log_format main '$remote_addr - $remote_user [$time_local] '   
  20. '"$request" $status $bytes_sent '   
  21. '"$http_referer" "$http_user_agent" '   
  22. '"$gzip_ratio"';   
  23. log_format download '$remote_addr - $remote_user [$time_local] '   
  24. '"$request" $status $bytes_sent '   
  25. '"$http_referer" "$http_user_agent" '   
  26. '"$http_range" "$sent_http_content_range"';   
  27. #设定请求缓冲   
  28. client_header_buffer_size 1k;   
  29. large_client_header_buffers 4 4k;   
  30. #开启gzip模块   
  31. gzip on;   
  32. gzip_min_length 1100;   
  33. gzip_buffers 4 8k;   
  34. gzip_types text/plain;   
  35. output_buffers 1 32k;   
  36. postpone_output 1460;   
  37. #设定access log   
  38. access_log logs/access.log main;   
  39. client_header_timeout 3m;   
  40. client_body_timeout 3m;   
  41. send_timeout 3m;   
  42. sendfile on;   
  43. tcp_nopush on;   
  44. tcp_nodelay on;   
  45. keepalive_timeout 65;   
  46. #设定负载均衡的服务器列表   
  47. upstream mysvr {   
  48. #weigth参数表示权值,权值越高被分配到的几率越大   
  49. #本机上的Squid开启3128端口   
  50. server 192.168.8.1:3128 weight=5;   
  51. server 192.168.8.2:80 weight=1;   
  52. server 192.168.8.3:80 weight=6;   
  53. }   
  54. #设定虚拟主机   
  55. server {   
  56. listen 80;   
  57. server_name 192.168.8.1   
  58. www.yejr.com   
  59. ;   
  60. charset gb2312;   
  61. #设定本虚拟主机的访问日志   
  62. access_log logs/www.yejr.com.access.log main;   
  63. #假如访问 /img/*, /js/*, /css/* 资源,则直接取本地文档,不通过squid   
  64. #假如这些文档较多,不推荐这种方式,因为通过squid的缓存效果更好   
  65. location ~ ^/(img|js|css)/ {   
  66. root /data3/Html;   
  67. expires 24h;   
  68. }   
  69. #对 "/" 启用负载均衡   
  70. location / {   
  71. proxy_pass http://mysvr;   
  72. proxy_redirect off;   
  73. proxy_set_header Host $host;   
  74. proxy_set_header X-Real-IP $remote_addr;   
  75. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   
  76. client_max_body_size 10m;   
  77. client_body_buffer_size 128k;   
  78. proxy_connect_timeout 90;   
  79. proxy_send_timeout 90;   
  80. proxy_read_timeout 90;   
  81. proxy_buffer_size 4k;   
  82. proxy_buffers 4 32k;   
  83. proxy_busy_buffers_size 64k;   
  84. proxy_temp_file_write_size 64k;   
  85. }   
  86. #设定查看Nginx状态的地址   
  87. location /NginxStatus {   
  88. stub_status on;   
  89. access_log on;   
  90. auth_basic "NginxStatus";   
  91. auth_basic_user_file conf/htpasswd;   
  92. }   
  93. }   
  94. }  

备注:conf/htpasswd 文档的内容用 apache 提供的 htpasswd 工具来产生即可,内容大致如下:

3.) 查看 Nginx 运行状态 输入地址http://192.168.8.1/NginxStatus/ 。输入验证帐号密码,即可看到类似如下内容:

  1. Active connections: 328   
  2. server accepts handled requests   
  3. 9309 8982 28890   
  4. Reading: 1 Writing: 3 Waiting: 324  

第一行表示现在活跃的连接数,第三行的第三个数字表示Nginx运行到。




http://developer.51cto.com/art/201003/190944.htm

 



 

推荐阅读