当前位置: 首页 > 工具软件 > nginx-tfs > 使用案例 >

Nginx+TFS模块安装笔记

令狐和裕
2023-12-01

 安装pcre库

tar zxvf pcre-8.31.tar.gz
cd pcre-8.31/
./configure
make
make install

安装GraphicsMagick

./configure --prefix=/usr/local/gmagick --without-prel --enable-shared --disable-openmp 
make
make install

安装nginx

tar zxvf nginx-0.8.46.tar.gz
cd nginx-0.8.46/
./configure --prefix=/usr/local/nginx --with-ld-opt="-lstdc++" --with-ld-opt="-Wl,-rpath" --add-module=src/ngx_tfs_module --with-debug
make
sudo make install

配置nginx

创建conf/fcgi.conf文件

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;

fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;

 


编辑conf/nginx.conf

user www www;
worker_processes 8;
error_log /usr/local//nginx/logs/logs/nginx_error.log crit;
pid /usr/local//nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
events {
    use epoll;
    worker_connections 51200;
}

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

    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 8m;

    sendfile on;
    tcp_nopush on;
    keepalive_timeout 60;
    tcp_nodelay on;

    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 8 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;

    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types text/plain application/x-javascript text/css application/xml;
    gzip_vary on;

    #limit_zone crawler $binary_remote_addr 10m;
    #多个站点设置,站点文件夹必须放在Nginx的html目录,否则不支持多站点
    server {
        listen 80;
        server_name www.v-ec.com;
        root /usr/local//nginx/html/www.v-ec.com;
        index index.php index.html;

        location ~ .*\.(php|php5)?$ { 
            #fastcgi_pass unix:/tmp/php-cgi.sock;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fcgi.conf;
        }
    
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
            expires 30d;
        }
        
        location ~ .*\.(js|css)?$ {
            expires 6h;
        }

        log_format veclog '$remote_addr - $remote_user [$time_local] "$request" '
        '$status $body_bytes_sent "$http_referer" '
        '"$http_user_agent" $http_x_forwarded_for';
        access_log logs/vec.log veclog;
    }
    #多个站点设置,站点文件夹必须放在Nginx的html目录,否则不支持多站点
    server {
        listen 80;
        server_name www.w3cgroup.com;
        root /usr/local//nginx/html/www.w3cgroup.com;
        index index.php index.html;

        location ~ .*\.(php|php5)?$ { 
            #fastcgi_pass unix:/tmp/php-cgi.sock;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fcgi.conf;
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
            expires 30d;
        }

        location ~ .*\.(js|css)?$ {
        expires 6h;
        }

        log_format w3cclog '$remote_addr - $remote_user [$time_local] "$request" '
        '$status $body_bytes_sent "$http_referer" '
        '"$http_user_agent" $http_x_forwarded_for';
        access_log logs/w3c.log w3clog;
    }
}

配置开机自动启动Nginx + PHP

编辑/etc/rc.local在末尾增加以下内容:

ulimit -SHn 51200
/usr/local/php/sbin/php-fpm start
/usr/local/nginx/sbin/nginx

优化Linux内核参数

编辑/etc/sysctl.conf在末尾增加以下内容:

net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1

 

使配置立即生效:

/sbin/sysctl –p

 

做到这里,可以reboot重启Linux了,不出意外的话应该可以顺利开启Nginx

平滑重启Nginx
Ps aux | grep nginx
找到Nginx的master process,假如为:5800,然后kill
Kill –HUP 5800

转载于:https://www.cnblogs.com/eprsoft/archive/2012/10/22/2733744.html

 类似资料: