CDN动态缓存配置nginx方案

2021-06-19|

nginx的有以下八大优点:

1.高并发连接:官方测试能支撑5万并发连接,在实际生产环境中跑到2,~3W并发连接。

2.内存消耗少:在3W并发连接下,开启的10个NGINX进程才消耗150M内存(15M*10=150M)

3.配置文件非常简单:风格跟程序一样通俗易懂。

4.成本低廉:Nginx作为开源软件,可以免费使用,而购买F5 BIG-IP、NetScaler

等硬件负载均衡交换机则需要十多万至几十万人民币。

5.支持rewrite重写规则:能够根据域名、URL的不同,将HTTP请求分发到不同的后端服务器群组。

6.内置的健康检查功能:如果Nginx Proxy后端的后台web服务器宕机了,不会音响前端访问。

7.节省带宽:支持GZIP压缩,可以添加浏览器本地缓存的Header头。

8.稳定性高:用于反向代理,宕机的概率微乎其微

一、编译安装Nginx (安装nginx之前需要安装pcre包和zlib以支持重写,正则以及网页压缩等等)

(1)首先配置安装pcre:

cd /usr/src &&tar xzf pcre-8.01.tar.gz &&cd pcre-8.01 && ./configure --prefix=/usr/local/pcre &&make &&make install

(2)然后再编译安装nginx :

useradd www && cd /usr/src && tar xzf nginx-0.7.61.tar.gz &&cd nginx-0.7.61 && ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-openssl=/usr/ --with-pcre=/usr/src/pcre-8.01 --user=www --group=www &&make &&make install

【nginx注意* --with-pcre=/usr/src/pcre-8.01指向的是源码包解压的路径,而不是安装的路径,否则会报

make[1]: *** [/usr/local/pcre/Makefile] Error 127 错误】

二、接下来安装mysql

(1)、cd /usr/src && tar xzf mysql-5.1.41.tar.gz && cd mysql-5.1.41 && ./configure --prefix=/usr/local/mysql/ --enable-assembler --with-extra-charsets=complex
--enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobase && make &&make install

(2)、mysql安装完毕,创建mysql用户和组并初始化数据库,并启动数据库。

cd /usr/local/mysql && useradd mysql && chown -R mysql:mysql /usr/local/mysql && /usr/local/mysql/bin/mysql_install_db --user=mysql && chown -R mysql:mysql var/ && ./bin/mysqld_safe --user=mysql &

【如果mysql启动报错,请检查 /usr/local/mysql/var 目录,mysql是否有权限】

三、安装 php :

cd /usr/src &&tar xzf php-5.3.5.tar.gz && cd php-5.3.5 && ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/u

sr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-li

bxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem

--enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-sockets && make &&make install

安装完毕!【注意这个参数在此可以不加--enable-fastcgi;其他之前版本需要加上,以上安装根据自己的选择添加,如果报错,根据具体报错找原因】

四、整合Nginx和php(FastCGI)安装完php-5.3.5后支持fastCGI

(1)、配置nginx ,拷贝nginx配置文件:

user www www;

worker_processes 8;

error_log /usr/local/nginx/logs/error.log crit;

pid /usr/local/nginx/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.

worker_rlimit_nofile 51200;

events

{

use epoll;

worker_connections 51200;

}

http

{

include mime.types;

default_type application/octet-stream;

charset utf-8;

error_page 400 404 403 500 502 503 http://blog.mgcrazy.com;

server_names_hash_bucket_size 128;

client_header_buffer_size 2k;

large_client_header_buffers 4 4k;

client_max_body_size 8m;

sendfile on;

tcp_nopush on;

keepalive_timeout 60;

fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2

keys_zone=TEST:10m

inactive=5m;

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

fastcgi_buffer_size 4k;

fastcgi_buffers 8 4k;

fastcgi_busy_buffers_size 8k;

fastcgi_temp_file_write_size 8k;

##如下设置fastcGI_cache缓存,加速你的web站点!

fastcgi_cache TEST;

fastcgi_cache_valid 200 302 1h;

fastcgi_cache_valid 301 1d;

fastcgi_cache_valid any 1m;

fastcgi_cache_min_uses 1;

fastcgi_cache_use_stale error timeout invalid_header http_500;

fastcgi_cache_key http://$host$request_uri;

open_file_cache max=204800 inactive=20s;

open_file_cache_min_uses 1;

open_file_cache_valid 30s;

tcp_nodelay on;

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;

##设置301跳转,让二级域名跳转到你规定的url;

server

{

listen 80;

server_name blog.mgcrazy.com wgkgood.gicp.net linux.mgcrazy.com;

if ($host = 'wgkgood.gicp.net' ) {

rewrite ^/(.*)$ http://blog.mgcrazy.com/$1 permanent;

}

if ($host = 'linux.mgcrazy.com' ) {

rewrite ^/(.*)$ http://blog.mgcrazy.com/$1 permanent;

}

index index.php index.htm index.html;

root /home/webapps/www;

#limit_conn crawler 20;

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 1h;

}

log_format access '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" $http_x_forwarded_for';

access_log /usr/local/nginx/logs/access.log access;

}

}

Nginx配置完毕!启动nginx ;
/usr/local/nginx/sbin/nginx 即可,重启nginx命令如下/usr/local/nginx/sbin/nginx –s reload

(2)、配置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;

五、配置php配置文件:

cd /usr/local/php5/etc/ && cp php-fpm.conf.default php-fpm.conf

然后根据提示编辑php-fpm.conf里面的选项。

开启php-fpm

cp
/usr/src/php-5.3.5/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 然后启动 /etc/init.d/php-fpm start 即可。

六、安装apc配置:

cd /usr/src && tar xzf APC-3.1.4.tgz &&cd APC-3.1.4

/usr/local/php5/bin/phpize && ./configure --enable-apc --enable-apc-mmap --with-php-config=/usr/local/php5/bin/php-config &&make&& make install

安装完后会生成一个apc.so在
/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/里面。

七、安装memcached,使fastcGI支持memcached

首先安装libevent

cd /usr/src && tar xzf libevent-1.4.12-stable.tar.gz && cd libevent-1.4.12-stable && ./configure –prefix=/usr/local/libevent &&make && make install

然后安装memcached //缓存加速

tar xzf memcache-2.2.5.tar.gz && cd memcache-2.2.5 && /usr/local/php5/bin/phpize && ./configure –prefix=/usr/local/memcached --with-libevent=/usr/local/libevent --with-php-config=/usr/local/php5/bin/php-config &&make &&make install

标签: fastcgi local php usr nginx mysql 安装 with enable param
出处: https://www.toutiao.com/a6974376287594988040/

文明发言,请先登录

文明上网理性发言,请遵守国家法律法规。

最新评论

©2003- 黑基网 黑名单存档手机版网站地图免责条款法律声明隐私保护