Nginx 安装配置

Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

在高连接并发的情况下,Nginx是Apache服务器不错的替代品。


Nginx 安装

系统平台:CentOS release 6.6 (Final) 64位。

一、安装编译工具及库文件

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

二、首先要安装 PCRE

PCRE 作用是让 Nginx 支持 Rewrite 功能。

1、下载 PCRE 安装包,下载地址: http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

[root@bogon src]# wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

2、解压安装包:

[root@bogon src]# tar zxvf pcre-8.35.tar.gz

3、进入安装包目录

[root@bogon src]# cd pcre-8.35

4、编译安装 

[root@bogon pcre-8.35]# ./configure
[root@bogon pcre-8.35]# make && make install

5、查看pcre版本

[root@bogon pcre-8.35]# pcre-config --version

安装 Nginx

1、下载 Nginx,下载地址:http://nginx.org/download/nginx-1.6.2.tar.gz

[root@bogon src]# wget http://nginx.org/download/nginx-1.6.2.tar.gz

2、解压安装包

[root@bogon src]# tar zxvf nginx-1.6.2.tar.gz

3、进入安装包目录

[root@bogon src]# cd nginx-1.6.2

4、编译安装

[root@bogon nginx-1.6.2]# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
[root@bogon nginx-1.6.2]# make
[root@bogon nginx-1.6.2]# make install

5、查看nginx版本

[root@bogon nginx-1.6.2]# /usr/local/webserver/nginx/sbin/nginx -v

到此,nginx安装完成。


Nginx 配置


二、使用Nginx:简单与单台Tomcat整合


a)        首先找到nginx.conf文件:vim /usr/local/nginx/conf/nginx.conf

   server {

                listen 80;

           server_name  localhost:80;

    location / { 

      proxy_pass http://localhost:8080 

    }

 

//...others 

      

}  

 

 

 

 

 

 


三、详细使用(nginx就是去配置其文件而已),如下所示:

  1. #开启进程数 <=CPU 
  2. worker_processes 1;  
  3.   
  4. #错误日志保存位置  
  5. #error_log logs/error.log;  
  6. #error_log logs/error.log notice;  
  7. #error_log logs/error.log info;  
  8.   
  9. #进程号保存文件  
  10. #pid logs/nginx.pid;  
  11.   
  12. #等待事件  
  13. events {  
  14. #每个进程最大连接数(最大连接=连接数x进程数)   
  15. #每个worker允许同时产生多少个链接,默认1024
  16. worker_connections 1024;  
  17. }  
  18.   
  19.   
  20. http {  
  21. #文件扩展名与文件类型映射表  
  22. include mime.types;  
  23. #默认文件类型  
  24. default_type application/octet-stream;  
  25. #日志文件输出格式 这个位置相于全局设置  
  26. #log_format main '$remote_addr - $remote_user [$time_local] "$request" '  
  27. # '$status $body_bytes_sent "$http_referer" '  
  28. # '"$http_user_agent" "$http_x_forwarded_for"';  
  29. #请求日志保存位置  
  30. #access_log logs/access.log main;  
  31. #打开发送文件  
  32. sendfile on;  
  33. #tcp_nopush on;  
  34. #连接超时时间  
  35. #keepalive_timeout 0;  
  36. keepalive_timeout 65;  
  37. #打开gzip压缩  
  38. #gzip on;  
  39. #设定请求缓冲  
  40. client_header_buffer_size 1k;  
  41. large_client_header_buffers 4 4k;  
  42. #设定负载均衡的服务器列表  
  43. upstream myproject {   
  44. #weigth参数表示权值,权值越高被分配到的几率越大  
  45. #max_fails 当有#max_fails个请求失败,就表示后端的服务器不可用,默认为1,将其设置为0可以关闭检查  
  46. #fail_timeout 在以后的#fail_timeout时间内nginx不会再把请求发往已检查出标记为不可用的服务器  
  47. #这里指定多个源服务器,ip:端口,80端口的话可写可不写   
  48. server 192.168.1.78:8080 weight=5 max_fails=2 fail_timeout=600s;  
  49. #server 192.168.1.222:8080 weight=3 max_fails=2 fail_timeout=600s;   
  50. }  
  51.   
  52. #第一个虚拟主机  
  53. server {  
  54. #监听IP端口  
  55. listen 80;  
  56. #主机名  
  57. server_name localhost;  
  58. #设置字符集  
  59. #charset koi8-r;  
  60. #本虚拟server的访问日志 相当于局部变量  
  61. #access_log logs/host.access.log main;   
  62. #对本server"/"启用负载均衡  
  63. location / {   
  64. #root /root; #定义服务器的默认网站根目录位置  
  65. #index index.php index.html index.htm; #定义首页索引文件的名称  
  66. proxy_pass http://myproject; #请求转向myproject定义的服务器列表  
  67. #以下是一些反向代理的配置可删除.  
  68. # proxy_redirect off;   
  69. # proxy_set_header Host $host;   
  70. # proxy_set_header X-Real-IP $remote_addr;   
  71. # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   
  72. # client_max_body_size 10m; #允许客户端请求的最大单文件字节数   
  73. # client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,   
  74. # proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)   
  75. # proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)   
  76. # proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)   
  77. # proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小   
  78. # proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置   
  79. # proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)   
  80. # proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传  
  81. }   
  82. location /upload {   
  83. alias e:/upload;   
  84. }  
  85. #设定查看Nginx状态的地址   
  86. location /NginxStatus {   
  87. stub_status on;   
  88. access_log off;   
  89. #allow 192.168.0.3;  
  90. #deny all;  
  91. #auth_basic "NginxStatus";   
  92. #auth_basic_user_file conf/htpasswd;   
  93. }  
  94. #error_page 404 /404.html;  
  95. # redirect server error pages to the static page /50x.html  
  96. # 定义错误提示页面  
  97. error_page 500 502 503 504 /50x.html;  
  98. location = /50x.html {  
  99. root html;  
  100. }  
  101. # proxy the PHP scripts to Apache listening on 127.0.0.1:80  
  102. #  
  103. #location ~ \.php$ {  
  104. # proxy_pass http://127.0.0.1;  
  105. #}  
  106. # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  
  107. #  
  108. #location ~ \.php$ {  
  109. # root html;  
  110. # fastcgi_pass 127.0.0.1:9000;  
  111. # fastcgi_index index.php;  
  112. # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;  
  113. # include fastcgi_params;  
  114. #}  
  115. # deny access to .htaccess files, if Apache's document root  
  116. # concurs with nginx's one  
  117. #  
  118. #location ~ /\.ht {  
  119. # deny all;  
  120. #}  
  121. }   
  122.   
  123.   
  124. # another virtual host using mix of IP-, name-, and port-based configuration  
  125. #  
  126. #server {  
  127. #多监听   
  128. # listen 8000;  
  129. #主机名  
  130. # listen somename:8080;  
  131. # server_name somename alias another.alias;  
  132.   
  133. # location / {  
  134. #WEB文件路径  
  135. # root html;  
  136. #默认首页  
  137. # index index.html index.htm;  
  138. # }  
  139. #}  
  140.   
  141.   
  142. # HTTPS server HTTPS SSL加密服务器  
  143. #  
  144. #server {  
  145. # listen 443;  
  146. # server_name localhost;  
  147.   
  148. # ssl on;  
  149. # ssl_certificate cert.pem;  
  150. # ssl_certificate_key cert.key;  
  151.   
  152. # ssl_session_timeout 5m;  
  153.   
  154. # ssl_protocols SSLv2 SSLv3 TLSv1;  
  155. # ssl_ciphers HIGH:!aNULL:!MD5;  
  156. # ssl_prefer_server_ciphers on;  
  157.   
  158. # location / {  
  159. # root html;  
  160. # index index.html index.htm;  
  161. # }  
  162. #}   
  163. }  



创建 Nginx 运行使用的用户 www:

[root@bogon conf]# /usr/sbin/groupadd www 
[root@bogon conf]# /usr/sbin/useradd -g www www



检查配置文件ngnix.conf的正确性命令:

[root@bogon conf]# /usr/local/webserver/nginx/sbin/nginx -t

启动 Nginx

Nginx 启动命令如下:

[root@bogon conf]# /usr/local/webserver/nginx/sbin/nginx

访问站点

从浏览器访问我们配置的站点ip:


Nginx 其他命令

以下包含了 Nginx 常用的几个命令:

/usr/local/webserver/nginx/sbin/nginx -s reload            # 重新载入配置文件
/usr/local/webserver/nginx/sbin/nginx -s reopen            # 重启 Nginx
/usr/local/webserver/nginx/sbin/nginx -s stop              # 停止 Nginx