- 下载所需的安装包:这里采用源码包编译安装:本博客集成下载
- http://blog.mgcrazy.com/download/nginx-0.7.61.tar.gz
- http://blog.mgcrazy.com/download/pcre-8.01.tar.gz
- http://blog.mgcrazy.com/download/memcache-2.2.5.tgz
- http://blog.mgcrazy.com/download/libevent-1.4.12-stable.tar.gz
- http://blog.mgcrazy.com/download/APC-3.1.4.tgz
- 下载到 /usr/src下
- 另外还有两个包mysql-5.1.41.tar.gz、php-5.3.5.tar.gz 【其他相似版本也可以!】可以在官网下载。
- 一、正式安装Nginx、【安装nginx之前需要安装pcre包和zlib以支持重写,正则以及网页压缩等等】
- 首先安装pcre:
- cd /usr/src &&tar xzf pcre-8.01.tar.gz &&cd pcre-8.01 && ./configure --prefix=/usr/local/pcre &&make &&make install
- 然后再安装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 错误】
- 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
- 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 &
- 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=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-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
- 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;
- }
- }
- 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;
- 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 即可
- 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/里面
- 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
- 安装完后,会在/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/里生成一个memcache.so 这个模块
- 默认的php.ini在/usr/local/php5/lib/php.ini 你也可以指定:
- extension_dir = "./"
- 修改为
- extension_dir="/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626"
- 把下面这些添加到最后:
- extension = apc.so
- extension=memcache.so //这里引用缓存模块
- [APC]
- apc.enabled = 1
- apc.shm_segments = 1
- apc.shm_size = 64M
- apc.optimization = 1
- apc.num_files_hint = 0
- apc.ttl=7200
- apc.user_ttl=7200
- apc.gc_ttl = 3600
- apc.cache_by_default = on