牧者

大风起兮云飞扬

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

3、Nginx Linux 安装 部署

第一、下载Nginx

      地址:http://nginx.org/en/download.html ,linux版本:nginx-0.8.20.tar.。解压缩命令:

  tar -zxvf nginx-0.8.20.tar.gz


第二、编译安装Nginx

     Nginx依赖一些其他PCRE、openssl(依赖libssl-dev),本人笔记本Ubuntu环境已经安装PCRE,仅需安装依赖的openssl,下面我们简单说下如何安装PCRE和openssl等

    1) PCRE下载地址:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

 Shell代码 

tar zxvf  pcre-8.01.tar.gz  
cd pcre-8.01  
sudo ./configure  
sodu make  
sodu make install  

 openssl通过apt-get install安装,命令、截图如下:

Shell代码  
sudo apt-get install openssl
sudo apt-get install libssl-dev
//如缺少其他包,请采用此方法安装,ubuntu有依赖提示

 解析说明:

    sudo命令用于针对单个命令授予临时权限。

    apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。

 

 
 依赖的软件包安装完毕,下面来编译Nginx:

Shell代码  
#将window共享目录软件拷贝到当前工作目录
cp /mnt/fileshare/nginx-0.8.20.tar.gz ./

#解压缩软件包
tar zxvf nginx-0.8.20.tar.gz

 cd nginx-0.8.20
//编译源码,默认使用nobody,指定本机已存在的用户,组,启用nginx-status功能,监控nginx状态。启动debug
 sudo ./configure  --user=niumd --group=niumd --with-debug --with-http_stub_status_module 
 

sudo make 
sudo make install

  

 
   截图 如下:

安装结果截图如下:

 

编译安装正确结束,按照上述window下方法检查默认配置,然后在默认配置下启动nginx,访问http://127.0.0.1 ,如下图说明成功

 

Nginx配置成功后我们对window下nginx.conf少做修改,如下:

Ubuntu nginx.conf代码  收藏代码
#Nginx所用用户和组
user  niumd niumd;

#工作的子进程数量(通常等于CPU数量或者2倍于CPU)
worker_processes  2;

#错误日志存放路径
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
error_log  logs/error.log  info;

#指定pid存放文件
pid        logs/nginx.pid;

events {
  #使用网络IO模型linux建议epoll,FreeBSD建议采用kqueue
    use epoll;
    
    #允许最大连接数
    worker_connections  2048;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

  #定义日志格式
    #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  off;
    access_log  logs/access.log;

    client_header_timeout  3m;
    client_body_timeout    3m;
    send_timeout           3m;
 
    client_header_buffer_size    1k;
    large_client_header_buffers  4 4k;

    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;

    #keepalive_timeout  75 20;

    include    gzip.conf;
    upstream localhost {
     #ip_hash
      #ip_hash;
      server localhost:18081;
      server localhost:18080;
     }

    server {
            listen       80;
            server_name  localhost;   

            location / {
              proxy_connect_timeout   3;
              proxy_send_timeout      30;
              proxy_read_timeout      30;
                proxy_pass http://localhost;
            }
            
   }
}

  

     我们通过ps  -ef|grep nginx,看到如下结果: ps命令用来列出系统中当前运行的那些进程   

注意:在启动时linux提示一句警告【warn】……,是因为我们设置的 #允许最大连接数 worker_connections  2048,超过linux默认1024的限制。

       停止:kill -信号类型 pid

       nginx/logs目录下有个nginx。pid的文件,此文件记录了每次运行的pid,也可以通过ps命令查询。

信号类型如下:

 

信号控制

信号类型 描述
RERM.INT 快速关闭
HUP 平滑重启,加载配置
USR1 重新加载日志
USER2 平滑升级执行程序
WINCH 从容关闭工作进程
QUIT 从容关闭

 

参考资料:

http://www.oschina.net/bbs/thread/9301

 

posted on 2016-06-29 14:23  牧者.D  阅读(127)  评论(0)    收藏  举报