您的位置:首页 > 运维架构 > Nginx

Ubuntu下Nginx编译安装

2014-03-14 15:54 411 查看


1.到nginx官网下载源码包。最好下载稳定版本,nginx官网http://www.nginx.org/

2.安装nginx依赖包运行命令:

sudo apt-get install libssl-dev

sudo apt-get install libpcre3 libpcre3-dev

3.解压下载的nginx源码包。检查编译环境 ./configure --prefix=/usr/local/nginx --with-http_ssl_module 

4.编译安装 make && make install

5.到nginx安装目录执行启动命令:/usr/local/nginx/sbin/nginx

关闭命令:/usr/local/sbin/nginx -s stop (停止)

重启命令:/usr/local/sbin/nginx -s reload (重启)

启动之后浏览器中http://localhost/查看是否成功。

 

6.nginx配置文件所在目录/usr/local/nginx/conf/nginx.conf

配置文件详解如下:

#运行用户 

#user  nobody;

#启动进程 

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 {

    #设定mime类型 

    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  logs/access.log  main;

        sendfile        on;

        #tcp_nopush     on;

        #keepalive_timeout  0;

        #客户端和nginx之间空闲链接超时时间

        keepalive_timeout  120;

    #设定负载均衡的服务器列表

    upstream mysvr {

        #weigth参数表示权值,权值越高被分配到的几率越大

        #本机上的Squid开启3128端口

        server 127.0.0.1:8080 weight=1;

        #server 119.254.82.237:8080  weight=1;

    } 

    #是否开启gzip模块 

    #gzip  on;

    #gzip_min_length  1100;

    #gzip_buffers    4 8k;

    #gzip_types      text/plain; 

    #设定虚拟主机 

    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;

        #}

        #对 "/" 启用负载均衡

        location / {

            proxy_pass      http://mysvr;
            proxy_redirect          off;

            proxy_set_header        Host $host;

            proxy_set_header        X-Real-IP $remote_addr;

            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

            #客户端body中最大数据量

            client_max_body_size    10m;

            client_body_buffer_size 128k;

            # 链接到主机超时时间

            proxy_connect_timeout  90;

            # 向主机发送数据超时时间

            proxy_send_timeout      90;

            # 从主机读取数据超时时间

            proxy_read_timeout      90;

            proxy_buffer_size      4k;

            proxy_buffers          4 32k;

            proxy_busy_buffers_size 64k;

            proxy_temp_file_write_size 64k;

        } 

    }

    # 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;

    #    }

    #}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息