linux服务器linux下安装nginxx为什么要先建一个nginx普通用户

Linux下从零开始安装配置Nginx服务器+PHP开发环境,-android100学习网
Linux下从零开始安装配置Nginx服务器+PHP开发环境,
Linux下从零开始安装配置Nginx服务器+PHP开发环境, Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负...
Linux下从零开始安装配置Nginx服务器+PHP开发环境,
Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负载平衡。其拥有匹配Lighttpd的性能,同时还没有Lighttpd的内存泄漏问题,而且Lighttpd的mod_proxy也有一些问题并且很久没有更新。
因此我打算用其替代Apache应用于Linux服务器上。但是Nginx并不支持cgi方式运行,原因是可以减少因此带来的一些程序上的漏洞。那么我们必须使用FastCGI方式来执行PHP程序。
下面是我成功地配置Nginx + PHP5 FastCGI的过程
首先安装或编译Nginx
源码包可以在官方主页上下载。Ubuntu 7.10可以直接通过apt安装,也可以从这里下载最新的deb包:
sudo apt-get install nginx
如果要自己编译的话,需要确保自己已经有编译器和PCRE的库(用于Nginx的rewrite模块,如果不需要这个模块可以在configure时使用./configure –without-rewrite),编译方法如下:
wget http://sysoev.ru/nginx/nginx-0.5.34.tar.gz
tar zxvf nginx-0.5.34.tar.gz
cd nginx-0.5.34
./configure #默认配置安装路径为/usr/local/nginx 可以追加--prefix=/usr设置到/usr
make && make install # install要求有root权限
Ubuntu安装之后的文件结构大致为:
所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下
程序文件在/usr/sbin/nginx
日志放在了/var/log/nginx中
并已经在/etc/init.d/下创建了启动脚本nginx
默认的虚拟主机的目录设置在了/var/www/nginx-default
而自己利用默认配置编译的,则放在/usr/local/nginx下,以下是目录结构:
/usr/local/nginx/conf 配置目录
/usr/local/nginx/html 默认的网站根目录
/usr/local/nginx/logs 日志和pid文件目录
/usr/local/nginx/sbin 执行文件目录
下面可以启动nginx来看看效果(请确保80端口没有其他服务在使用):
Ubuntu请运行:
sudo /etc/init.d/nginx start
其他请运行:
/usr/local/nginx/sbin/nginx
然后就可以通过http://localhost/来看看效果了。
要配置nginx的自动运行,可以将/usr/local/nginx/sbin/nginx添加到/etc/rc.local中,Ubuntu可以执行
update-rc.d nginx defaults
至于如何在Linux上安装PHP,有很多文章,甚至很多平台上都有现成的软件包,无需自己编译。
1. 先进行php辅助包的安装如下
常用的包有
zlib-1.2.3.tar.bz2
jpegsrc.v6b.tar.gz libpng-1.2.22.tar.bz2
libmcrypt-2.5.8.tar.gz
mhash-0.9.9.9.tar.gz mcrypt-2.6.8.tar.gz
tar -jxf zlib-1.2.3.tar.bz2
tar zxf tar -jxf zlib-1.2.3.tar.bz2
cd zlib-1.2.3
./configure
make make install
其余的安装方法相同。
以上的辅助包安装完之后,进行php包的安装
tar -zxvf php-5.2.14.tar.gz && cd php-5.2.14
方法同上 执行
./configure --prefix=/usr/local/php5
后面加上需要加载的模块
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql5 --with-freetype-dir --with-zlib --with-png-dir --with-iconv --with-libxml-dir --with-jpeg-dir --with-curl --with-gd --enable-ftp --enable-zip --enable-mbstring --with-mcrypt=/usr/local/libmcrypt
(这些为加载的模块,不是全部)按Enter 执行。
Php的配置文件为 php.ini。
PHP5的CGI方式的一大优势是内置了FastCGI的支持,只需指明绑定的地址和端口参数便可以以FastCGI的方式运行,如下:
php-cgi -b 127.0.0.1:9000
如何配置其与nginx一起运行呢?
配置Nginx的PHP FastCGI
请将以下内容保存为fastcgi_params文件,保存于/usr/local/nginx/conf下(Ubuntu可保存于/etc/nginx下),他为我们的FastCGI模块设置了基本的环境变量:
#fastcgi_params
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE
fastcgi_param QUERY_STRING
fastcgi_param REQUEST_METHOD
fastcgi_param CONTENT_TYPE
fastcgi_param CONTENT_LENGTH
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_
fastcgi_param SCRIPT_NAME
$fastcgi_script_
fastcgi_param REQUEST_URI
fastcgi_param DOCUMENT_URI
$document_
fastcgi_param DOCUMENT_ROOT
$document_
fastcgi_param SERVER_PROTOCOL
fastcgi_param REMOTE_ADDR
fastcgi_param REMOTE_PORT
fastcgi_param SERVER_ADDR
fastcgi_param SERVER_PORT
fastcgi_param SERVER_NAME
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS
请特别注意”fastcgi_script_name”一行,PHP-CGI特别需要此行信息来确定PHP文件的位置。
另外需要在PHP-CGI的配置文件(Ubuntu 上此配置文件位于/etc/php5/cgi/php.ini)中,打开cgi.fix_pathinfo选项:
cgi.fix_pathinfo=1;
这样php-cgi方能正常使用SCRIPT_FILENAME这个变量。
接下来在nginx的配置中针对php文件配置其利用FastCGI进程来执行:
index index.
root /usr/local/nginx/
location ~ .*.php$ {
include /usr/local/nginx/conf/fastcgi_ #请根据自己保存的路径进行设置
fastcgi_index index.
fastcgi_pass 127.0.0.1:9000; #请根据自己的FastCGI绑定的地址和端口进行配置
通知Nginx重新载入配置:
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
Ubuntu用户可以使用init脚本:sudo /etc/init.d/nginx reload
然后启动php-cgi -b 127.0.0.1:9000
假设你在文档根目录放了index.php,并包含”phpinfo();”的内容,现在再看http://localhost/index.php便应该能看到php的调试信息了。
配置php进程
直接使用php-cgi的FastCGI运行方式有两个问题(貌似应该有解决方案,如果知道的话可以教教我):
1.如果进程崩溃,难以配置重新启动
2.单进程的效率低
因此,我们可以利用Lighttpd的spawn-fcgi来控制进程的运行。获得spawn-fcgi的方法如下:
wget http://www.lighttpd.net/download/lighttpd-1.4.18.tar.bz2 #获取Lighttpd的源码包
tar -xvjf lighttpd-1.4.18.tar.bz2
cd lighttpd-1.4.18
./configure #编译
cp src/spawn-fcgi /usr/local/bin/spawn-fcgi #取出spawn-fcgi的程序
下面我们就可以使用 spawn-fcgi 来控制php-cgi的FastCGI进程了
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php-cgi
参数含义如下
-f &fcgiapp& 指定调用FastCGI的进程的执行程序位置,根据系统上所装的PHP的情况具体设置
-a &addr& 绑定到地址addr
-p &port& 绑定到端口port
-s &path& 绑定到unix socket的路径path
-C &childs& 指定产生的FastCGI的进程数,默认为5(仅用于PHP)
-P &path& 指定产生的进程的PID文件路径
-u和-g FastCGI使用什么身份(-u 用户 -g 用户组)运行,Ubuntu下可以使用www-data,其他的根据情况配置,如nobody、apache等
然后我们可以将这行代码加入到/etc/rc.local文件底部,这样系统启动的时候也可以同时启动PHP的FastCGI进程。
您可能感兴趣的文章:
Linux下查看nginx apache mysql php的编译参数
CentOS 5.4下的Memcache安装步骤(Linux+Nginx+PHP+Memcached)
Linux+Nginx+Php架设高性能WEB服务器Linux(22)
(&engine x&) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。
  Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括、、等门户网站频道,、等视频分享网站,、等知名论坛,、、、等新兴Web
Nginx&的官方中文维基:http:&&
在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx 0.8.15 + PHP 5.2.10 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。
  根据我的经验,4GB内存的服务器+Apache(prefork模式)一般只能处理3000个并发连接,因为它们将占用3GB以上的内存,还得为系统预留1GB的内存。我曾经就有两台Apache服务器,因为在配置文件中设置的MaxClients为4000,当Apache并发连接数达到3800时,导致服务器内存和Swap空间用满而崩溃。
  而这台 Nginx 0.8.15 + PHP 5.2.10 (FastCGI) 服务器在3万并发连接下,开启的10个Nginx进程消耗150M内存(15M*10=150M),开启的64个php-cgi进程消耗1280M内存(20M*64=1280M),加上系统自身消耗的内存,总共消耗不到2GB内存。如果服务器内存较小,完全可以只开启25个php-cgi进程,这样php-cgi消耗的总内存数才500M。
  在3万并发连接下,访问Nginx 0.8.15 + PHP 5.2.10 (FastCGI) 服务器的PHP程序,仍然速度飞快。下图为Nginx的状态监控页面,显示的活动连接数为28457(关于Nginx的监控页配置,会在本文接下来所给出的Nginx配置文件中写明):
  我生产环境下的两台Nginx &#43; PHP5(FastCGI)服务器,跑多个一般复杂的纯PHP动态程序,单台Nginx &#43; PHP5(FastCGI)服务器跑PHP动态程序的处理能力已经超过“<span style="color:#ff次请求/秒”,相当于每天可以承受6000万(700*60*60*24=)的访问量(),而服务器的系统负载也不高:
  日下午2:30,金山游戏《剑侠情缘网络版叁》临时维护1小时(),大量玩家上官网,论坛、评论、客服等动态应用Nginx服务器集群,每台服务器的Nginx活动连接数达到2.8万,这是笔者遇到的Nginx生产环境最高并发&#20540;。
  下面是用100个并发连接分别去压生产环境中同一负载均衡器VIP下、提供相同服务的两台服务器,一台为Nginx,另一台为Apache,Nginx每秒处理的请求数是Apache的两倍多,Nginx服务器的系统负载、CPU使用率远低于Apache:
  你可以将连接数开到1,去压Nginx和Apache上的phpinfo.php,这是用浏览器访问Nginx上的phpinfo.php一切正常,而访问Apache服务器的phpinfo.php,则是该页无法显示。4G内存的服务器,即使再优化,Apache也很难在“webbench -c 30000 -t 60
”的压力情况下正常访问,而调整参数优化后的Nginx可以。
  webbench 下载地址:
  注意:webbench 做压力测试时,该软件自身也会消耗CPU和内存资源,为了测试准确,请将 webbench 安装在别的服务器上。
  测试结果:##### Nginx &#43; PHP #####
[root@localhost&webbench-1.5]#&webbench&-c&100&-t&30&http:&&
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar , GPL Open Source Software.
Benchmarking: GET
100 clients, running 30 sec.
Speed=102450 pages/min,
bytes/sec.
Requests: 51225 susceed, 0 failed.
top - 14:06:13 up 27 days,&&2:25,&&2 users,&&load average: 14.57, 9.89, 6.51
Tasks: 287 total,&& 4 running, 283 sleeping,&& 0 stopped,&& 0 zombie
Cpu(s): 49.9% us,&&6.7% sy,&&0.0% ni, 41.4% id,&&1.1% wa,&&0.1% hi,&&0.8% si
Mem:&& 6230016k total,&&2959468k used,&&3270548k free,&& 635992k buffers
Swap:&&2031608k total,&&&& 3696k used,&&2027912k free,&&1231444k cached
测试结果:#####&&Apache &#43; PHP #####
[root@localhost&webbench-1.5]#&webbench&-c&100&-t&30&http:&&
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar , GPL Open Source Software.
Benchmarking: GET
100 clients, running 30 sec.
Speed=42184 pages/min,
bytes/sec.
Requests: 21092 susceed, 0 failed.
top - 14:06:20 up 27 days,&&2:13,&&2 users,&&load average: 62.15, 26.36, 13.42
Tasks: 318 total,&& 7 running, 310 sleeping,&& 0 stopped,&& 1 zombie
Cpu(s): 80.4% us, 10.6% sy,&&0.0% ni,&&7.9% id,&&0.1% wa,&&0.1% hi,&&0.9% si
Mem:&& 6230016k total,&&3075948k used,&&3154068k free,&& 379896k buffers
Swap:&&2031608k total,&&&&12592k used,&&2019016k free,&&1117868k cached
为什么Nginx的性能要比Apache高得多?这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的Squid、Memcached都采用的是epoll网络I/O模型。
  处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效。下面用一个比喻来解析Apache采用的select模型和Nginx采用的epoll模型进行之间的区别:
  假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。而epoll版宿管大妈会先记下每位同学的房间号,你的朋友来时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满大楼找人。如果来了10000个人,都要找自己住这栋楼的同学时,select版和epoll版宿管大妈,谁的效率更高,不言自明。同理,在高并发服务器中,轮询I/O是最耗时间的操作之一,select和epoll的性能谁的性能更高,同样十分明了。
安装步骤:
  (系统要求:Linux 2.6&#43; 内核,本文中的Linux操作系统为CentOS 5.3,另在RedHat AS4上也安装成功)
  一、获取相关开源程序:
  1、【适用CentOS操作系统】利用CentOS Linux系统自带的yum命令安装、升级所需的程序库(RedHat等其他Linux发行版可从安装光盘中找到这些程序库的RPM包,进行安装):
sudo&-s&&LANG=C&&yum&-y&install&gcc&gcc-c&#43;&#43;&autoconf&libjpeg&libjpeg-devel&libpng&libpng-devel&freetype&freetype-devel&libxml2&libxml2-devel&zlib&zlib-devel&glibc&glibc-devel&glib2&glib2-devel&bzip2&bzip2-devel&ncurses&ncurses-devel&curl&curl-devel&e2fsprogs&e2fsprogs-devel&krb5&krb5-devel&libidn&libidn-devel&openssl&openssl-devel&openldap&openldap-devel&nss_ldap&openldap-clients&openldap-servers&&
2、【适用RedHat操作系统】RedHat等其他Linux发行版可从安装光盘中找到这些程序库的RPM包(事先可通过类&#20284;“rpm -qa | grep libjpeg”的命令查看所需的RPM包是否存在,通常是“xxx-devel”不存在,需要安装)。RedHat可以直接利用CentOS的RPM包安装,以下是RPM包下载网址:
  ①、RedHat AS4 & CentOS 4
  ②、RedHat AS5 & CentOS 5
  ③、RPM包搜索网站
  ④、RedHat AS4 系统环境,通常情况下缺少的支持包安装:
Ⅰ、i386&系统&&&&wget&http:&&rpm&-ivh&libjpeg-devel-6b-33.i386.rpm&&wget&http:&&rpm&-ivh&freetype-devel-2.1.9-1.i386.rpm&&wget&http:&&rpm&-ivh&libpng-devel-1.2.7-1.i386.rpm&&&&  Ⅱ、x86_64&系统&&&&wget&http:&&rpm&-ivh&libjpeg-devel-6b-33.x86_64.rpm&&wget&http:&&rpm&-ivh&freetype-devel-2.1.9-1.x86_64.rpm&&wget&http:&&rpm&-ivh&libpng-devel-1.2.7-1.x86_64.rpm&&
 3、【适用CentOS、RedHat及其它Linux操作系统】下载程序源码包:
  本文中提到的所有开源软件为截止到<span style="color:#ff年09月18日的最新稳定版。
  ①、从软件的官方网站下载:
mkdir&-p&/data0/software&&cd&/data0/software&&wget&http:&&wget&http:&&wget&http:&&wget&http:&&wget&http:&&wget&&http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?modtime=&big_mirror=0&&&wget&&http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?modtime=&big_mirror=0&&&wget&http:&&wget&&http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz?modtime=&big_mirror=0&&&wget&ftp:&&wget&http:&&wget&http:&&wget&http:&&wget&http:&&
②、从下载(比较稳定,只允许在本站,或者在Linux/Unix下通过Wget、Curl等命令下载以下软件):
mkdir&-p&/data0/software&&cd&/data0/software&&wget&http:&&wget&http:&&wget&http:&&wget&http:&&wget&http:&&wget&http:&&wget&http:&&wget&http:&&wget&http:&&wget&http:&&wget&http:&&wget&http:&&wget&http:&&wget&http:&&
  二、安装PHP 5.2.10(FastCGI模式)
  1、编译安装PHP 5.2.10所需的支持库:
tar&zxvf&libiconv-1.13.tar.gz&&cd&libiconv-1.13/&&./configure&--prefix=/usr/local&&make&&make&install&&cd&../&&&&tar&zxvf&libmcrypt-2.5.8.tar.gz&&&cd&libmcrypt-2.5.8/&&./configure&&make&&make&install&&/sbin/ldconfig&&cd&libltdl/&&./configure&--enable-ltdl-install&&make&&make&install&&cd&../../&&&&tar&zxvf&mhash-0.9.9.9.tar.gz&&cd&mhash-0.9.9.9/&&./configure&&make&&make&install&&cd&../&&&&ln&-s&/usr/local/lib/libmcrypt.la&/usr/lib/libmcrypt.la&&ln&-s&/usr/local/lib/libmcrypt.so&/usr/lib/libmcrypt.so&&ln&-s&/usr/local/lib/libmcrypt.so.4&/usr/lib/libmcrypt.so.4&&ln&-s&/usr/local/lib/libmcrypt.so.4.4.8&/usr/lib/libmcrypt.so.4.4.8&&ln&-s&/usr/local/lib/libmhash.a&/usr/lib/libmhash.a&&ln&-s&/usr/local/lib/libmhash.la&/usr/lib/libmhash.la&&ln&-s&/usr/local/lib/libmhash.so&/usr/lib/libmhash.so&&ln&-s&/usr/local/lib/libmhash.so.2&/usr/lib/libmhash.so.2&&ln&-s&/usr/local/lib/libmhash.so.2.0.1&/usr/lib/libmhash.so.2.0.1&&&&tar&zxvf&mcrypt-2.6.8.tar.gz&&cd&mcrypt-2.6.8/&&/sbin/ldconfig&&./configure&&make&&make&install&&cd&../&&
 2、编译安装MySQL 5.1.38
/usr/sbin/groupadd&mysql&&/usr/sbin/useradd&-g&mysql&mysql&&tar&zxvf&mysql-5.1.38.tar.gz&&cd&mysql-5.1.38/&&./configure&--prefix=/usr/local/webserver/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&&chmod&&#43;w&/usr/local/webserver/mysql&&chown&-R&mysql:mysql&/usr/local/webserver/mysql&&cd&../&&
 附:以下为附加步骤,如果你想在这台服务器上运行MySQL数据库,则执行以下两步。如果你只是希望让PHP支持MySQL扩展库,能够连接其他服务器上的MySQL数据库,那么,以下两步无需执行。
  ①、创建MySQL数据库存放目录
mkdir&-p&/data0/mysql/3306/data/&&chown&-R&mysql:mysql&/data0/mysql/&&
②、以mysql用户帐号的身份建立数据表:
/usr/local/webserver/mysql/bin/mysql_install_db&--basedir=/usr/local/webserver/mysql&--datadir=/data0/mysql/3306/data&--user=mysql&&
 ③、创建my.cnf配置文件:
vi&/data0/mysql/f&&&&[client]&&default-character-set&=&utf8&&port&&&&=&3306&&socket&&=&/tmp/mysql.sock&&&&[mysql]&&prompt=&(/u::)[/d]&&&&&no-auto-rehash&&&&[mysqld]&&#default-character-set&=&utf8&&user&&&&=&mysql&&port&&&&=&3306&&socket&&=&/tmp/mysql.sock&&basedir&=&/usr/local/webserver/mysql&&datadir&=&/data0/mysql/3306/data&&open_files_limit&&&&=&10240&&back_log&=&600&&max_connections&=&3000&&max_connect_errors&=&6000&&table_cache&=&614&&external-locking&=&FALSE&&max_allowed_packet&=&32M&&sort_buffer_size&=&2M&&join_buffer_size&=&2M&&thread_cache_size&=&300&&thread_concurrency&=&8&&query_cache_size&=&32M&&query_cache_limit&=&2M&&query_cache_min_res_unit&=&2k&&default-storage-engine&=&MyISAM&&default_table_type&=&MyISAM&&thread_stack&=&192K&&transaction_isolation&=&READ-COMMITTED&&tmp_table_size&=&246M&&max_heap_table_size&=&246M&&long_query_time&=&1&&log_long_format&&log-bin&=&/data0/mysql/3306/binlog&&binlog_cache_size&=&4M&&binlog_format&=&MIXED&&max_binlog_cache_size&=&8M&&max_binlog_size&=&512M&&expire_logs_days&=&7&&key_buffer_size&=&256M&&read_buffer_size&=&1M&&read_rnd_buffer_size&=&16M&&bulk_insert_buffer_size&=&64M&&myisam_sort_buffer_size&=&128M&&myisam_max_sort_file_size&=&10G&&myisam_max_extra_sort_file_size&=&10G&&myisam_repair_threads&=&1&&myisam_recover&&&&skip-name-resolve&&master-connect-retry&=&10&&slave-skip-errors&=&6,48,1396&&&&server-id&=&1&&&&innodb_additional_mem_pool_size&=&16M&&innodb_buffer_pool_size&=&2048M&&innodb_data_file_path&=&ibdata1:1024M:autoextend&&innodb_file_io_threads&=&4&&innodb_thread_concurrency&=&8&&innodb_flush_log_at_trx_commit&=&2&&innodb_log_buffer_size&=&16M&&innodb_log_file_size&=&128M&&innodb_log_files_in_group&=&3&&innodb_max_dirty_pages_pct&=&90&&innodb_lock_wait_timeout&=&120&&innodb_file_per_table&=&0&&[mysqldump]&&quick&&max_allowed_packet&=&32M&&
 ④、创建管理MySQL数据库的shell脚本:
vi&/data0/mysql/3306/mysql&&
输入以下内容(这里的用户名admin和密码接下来的步骤会创建):
#!/bin/sh&&&&&&&&&&&mysql_port=3306&&&&&&mysql_username=&admin&&&&&&mysql_password=&&&&&&&&&&&&function_start_mysql()&&&&&&{&&&&&&&&&&printf&&Starting&MySQL.../n&&&&&&&&&&/bin/sh&/usr/local/webserver/mysql/bin/mysqld_safe&--defaults-file=/data0/mysql/${mysql_port}/my.cnf&2&&1&&&/dev/null&&&&&&&&}&&&&&&&&&&&function_stop_mysql()&&&&&&{&&&&&&&&&&printf&&Stoping&MySQL.../n&&&&&&&&&&/usr/local/webserver/mysql/bin/mysqladmin&-u&${mysql_username}&-p${mysql_password}&-S&/tmp/mysql.sock&shutdown&&&&&&}&&&&&&&&&&&function_restart_mysql()&&&&&&{&&&&&&&&&&printf&&Restarting&MySQL.../n&&&&&&&&&&function_stop_mysql&&&&&&&&&&sleep&5&&&&&&&&&&function_start_mysql&&&&&&}&&&&&&&&&&&function_kill_mysql()&&&&&&{&&&&&&&&&&kill&-9&$(ps&-ef&|&grep&'bin/mysqld_safe'&|&grep&${mysql_port}&|&awk&'{printf&$2}')&&&&&&&&&&kill&-9&$(ps&-ef&|&grep&'libexec/mysqld'&|&grep&${mysql_port}&|&awk&'{printf&$2}')&&&&&&}&&&&&&&&&&&if&[&&$1&&=&&start&&];&then&&&&&&&&&&function_start_mysql&&&&&&elif&[&&$1&&=&&stop&&];&then&&&&&&&&&&function_stop_mysql&&&&&&elif&[&&$1&&=&&restart&&];&then&&&&&&function_restart_mysql&&&&&&elif&[&&$1&&=&&kill&&];&then&&&&&&function_kill_mysql&&&&&&else&&&&&&&&&printf&&Usage:&/data0/mysql/${mysql_port}/mysql&{start|stop|restart|kill}/n&&&&&&fi&&&&#!/bin/sh&&&&mysql_port=3306&&mysql_username=&admin&&&mysql_password=&&&&&&function_start_mysql()&&{&&&&&&printf&&Starting&MySQL.../n&&&&&&&/bin/sh&/usr/local/webserver/mysql/bin/mysqld_safe&--defaults-file=/data0/mysql/${mysql_port}/my.cnf&2&&1&&&/dev/null&&&&}&&&&function_stop_mysql()&&{&&&&&&printf&&Stoping&MySQL.../n&&&&&&&/usr/local/webserver/mysql/bin/mysqladmin&-u&${mysql_username}&-p${mysql_password}&-S&/tmp/mysql.sock&shutdown&&}&&&&function_restart_mysql()&&{&&&&&&printf&&Restarting&MySQL.../n&&&&&&&function_stop_mysql&&&&&&sleep&5&&&&&&function_start_mysql&&}&&&&function_kill_mysql()&&{&&&&&&kill&-9&$(ps&-ef&|&grep&'bin/mysqld_safe'&|&grep&${mysql_port}&|&awk&'{printf&$2}')&&&&&&kill&-9&$(ps&-ef&|&grep&'libexec/mysqld'&|&grep&${mysql_port}&|&awk&'{printf&$2}')&&}&&&&if&[&&$1&&=&&start&&];&then&&&&&&function_start_mysql&&elif&[&&$1&&=&&stop&&];&then&&&&&&function_stop_mysql&&elif&[&&$1&&=&&restart&&];&then&&function_restart_mysql&&elif&[&&$1&&=&&kill&&];&then&&function_kill_mysql&&else&&&&&&printf&&Usage:&/data0/mysql/${mysql_port}/mysql&{start|stop|restart|kill}/n&&&fi&&
 ⑤、赋予shell脚本可执行权限:
chmod&&#43;x&/data0/mysql/3306/mysql&&
⑥、启动MySQL:
/data0/mysql/3306/mysql&start&&
⑦、通过命令行登录管理MySQL服务器(提示输入密码时直接回车):
/usr/local/webserver/mysql/bin/mysql&-u&root&-p&-S&/tmp/mysql.sock&&
⑧、输入以下SQL语句,创建一个具有root权限的用户(admin)和密码():
GRANT&ALL&PRIVILEGES&ON&*.*&TO&'admin'@'localhost'&IDENTIFIED&BY&'';&&GRANT&ALL&PRIVILEGES&ON&*.*&TO&'admin'@'127.0.0.1'&IDENTIFIED&BY&'';&&
⑨、(可选)停止MySQL:
/data0/mysql/3306/mysql&stop&&
3、编译安装PHP(FastCGI模式)
tar&zxvf&php-5.2.10.tar.gz&&gzip&-cd&php-5.2.10-fpm-0.5.11.diff.gz&|&patch&-d&php-5.2.10&-p1&&cd&php-5.2.10/&&./configure&--prefix=/usr/local/webserver/php&--with-config-file-path=/usr/local/webserver/php/etc&--with-mysql=/usr/local/webserver/mysql&--with-mysqli=/usr/local/webserver/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-fastcgi&--enable-fpm&--enable-force-cgi-redirect&--enable-mbstring&--with-mcrypt&--with-gd&--enable-gd-native-ttf&--with-openssl&--with-mhash&--enable-pcntl&--enable-sockets&--with-ldap&--with-ldap-sasl&--with-xmlrpc&--enable-zip&--enable-soap&--without-pear&&make&ZEND_EXTRA_LIBS='-liconv'&&make&install&&cp&php.ini-dist&/usr/local/webserver/php/etc/php.ini&&cd&../&&curl&http:&&
4、编译安装PHP5扩展模块
tar&zxvf&memcache-2.2.5.tgz&&cd&memcache-2.2.5/&&/usr/local/webserver/php/bin/phpize&&./configure&--with-php-config=/usr/local/webserver/php/bin/php-config&&make&&make&install&&cd&../&&&&tar&jxvf&eaccelerator-0.9.5.3.tar.bz2&&cd&eaccelerator-0.9.5.3/&&/usr/local/webserver/php/bin/phpize&&./configure&--enable-eaccelerator=shared&--with-php-config=/usr/local/webserver/php/bin/php-config&&make&&make&install&&cd&../&&&&tar&zxvf&PDO_MYSQL-1.0.2.tgz&&cd&PDO_MYSQL-1.0.2/&&/usr/local/webserver/php/bin/phpize&&./configure&--with-php-config=/usr/local/webserver/php/bin/php-config&--with-pdo-mysql=/usr/local/webserver/mysql&&make&&make&install&&cd&../&&&&tar&zxvf&ImageMagick.tar.gz&&cd&ImageMagick-6.5.1-2/&&./configure&&make&&make&install&&cd&../&&&&tar&zxvf&imagick-2.2.2.tgz&&cd&imagick-2.2.2/&&/usr/local/webserver/php/bin/phpize&&./configure&--with-php-config=/usr/local/webserver/php/bin/php-config&&make&&make&install&&cd&../&&
5、修改php.ini文件
  手工修改:查找/usr/local/webserver/php/etc/php.ini中的extension_dir = &./&
  修改为extension_dir = &/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-/&
  并在此行后增加以下几行,然后保存:
extension&=&&memcache.so&&&extension&=&&pdo_mysql.so&&&extension&=&&imagick.so&&&
再查找output_buffering = Off
修改为output_buffering = On
自动修改:若嫌手工修改麻烦,可执行以下shell命令,自动完成对php.ini文
sed&-i&'s#extension_dir&=&&./&#extension_dir&=&&/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-/&/nextension&=&&memcache.so&/nextension&=&&pdo_mysql.so&/nextension&=&&imagick.so&/n#'&/usr/local/webserver/php/etc/php.ini&&sed&-i&'s#output_buffering&=&Off#output_buffering&=&On#'&/usr/local/webserver/php/etc/php.ini&&sed&-i&&s#;&always_populate_raw_post_data&=&On#always_populate_raw_post_data&=&On#g&&/usr/local/webserver/php/etc/php.ini&&
件的修改:
6、配置eAccelerator加速PHP:
mkdir&-p&/usr/local/webserver/eaccelerator_cache&&vi&/usr/local/webserver/php/etc/php.ini&&
 按shift&#43;g键跳到配置文件的最末尾,加上以下配置信息:
[eaccelerator]
zend_extension=&/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-/eaccelerator.so&
eaccelerator.shm_size=&64&
eaccelerator.cache_dir=&/usr/local/webserver/eaccelerator_cache&
eaccelerator.enable=&1&
eaccelerator.optimizer=&1&
eaccelerator.check_mtime=&1&
eaccelerator.debug=&0&
eaccelerator.filter=&&
eaccelerator.shm_max=&0&
eaccelerator.shm_ttl=&3600&
eaccelerator.shm_prune_period=&3600&
eaccelerator.shm_only=&0&
press_level=&9&
7、创建www用户和组,以及供和两个虚拟主机使用的目录:
/usr/sbin/groupadd&www&&/usr/sbin/useradd&-g&www&www&&mkdir&-p&/data0/htdocs/blog&&chmod&&#43;w&/data0/htdocs/blog&&chown&-R&www:www&/data0/htdocs/blog&&mkdir&-p&/data0/htdocs/www&&chmod&&#43;w&/data0/htdocs/www&&chown&-R&www:www&/data0/htdocs/www&&
8、创建php-fpm配置文件(php-fpm是为PHP打的一个FastCGI管理补丁,可以平滑变更php.ini配置而无需重启php-cgi):
  在/usr/local/webserver/php/etc/目录中创建php-fpm.conf文件:
rm&-f&/usr/local/webserver/php/etc/php-fpm.conf&&vi&/usr/local/webserver/php/etc/php-fpm.conf&&
输入以下内容(如果您安装 Nginx &#43; PHP 用于程序调试,请将以下的&value name=&display_errors&&0&/value&改为&value name=&display_errors&&1&/value&,以便显示PHP错误信息,否则,Nginx 会报状态为500的空白错误页):
&version=&1.0&&&&&&&&&&&&&&&&&&&All&relative&paths&in&this&config&are&relative&to&php's&install&prefix&&&&&&&&&&&&&&name=&global_options&&&&&&&&&&&&&&&Pid&file&&&&&&&&&&&name=&pid_file&/usr/local/webserver/php/logs/php-fpm.pid&&&&&&&&&&&&&&Error&log&file&&&&&&&&&&&name=&error_log&/usr/local/webserver/php/logs/php-fpm.log&&&&&&&&&&&&&&Log&level&&&&&&&&&&&name=&log_level&notice&&&&&&&&&&&&&&When&this&amount&of&php&processes&exited&with&SIGSEGV&or&SIGBUS&...&&&&&&&&&&&name=&emergency_restart_threshold&10&&&&&&&&&&&&&&...&in&a&less&than&this&interval&of&time,&a&graceful&restart&will&be&initiated.&&&&&&&&&&Useful&to&work&around&accidental&curruptions&in&accelerator's&shared&memory.&&&&&&&&&&&name=&emergency_restart_interval&1m&&&&&&&&&&&&&&Time&limit&on&waiting&child's&reaction&on&signals&from&master&&&&&&&&&&&name=&process_control_timeout&5s&&&&&&&&&&&&&&Set&to&'no'&to&debug&fpm&&&&&&&&&&&name=&daemonize&yes&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&name=&pool&&&&&&&&&&&&&&&&&Name&of&pool.&Used&in&logs&and&stats.&&&&&&&&&&&&&name=&name&default&&&&&&&&&&&&&&&&Address&to&accept&fastcgi&requests&on.&&&&&&&&&&&&Valid&syntax&is&'ip.ad.re.ss:port'&or&just&'port'&or&'/path/to/unix/socket'&&&&&&&&&&&&&name=&listen_address&127.0.0.1:9000&&&&&&&&&&&&&&&&&name=&listen_options&&&&&&&&&&&&&&&&&&&Set&listen(2)&backlog&&&&&&&&&&&&&&&name=&backlog&-1&&&&&&&&&&&&&&&&&&Set&permissions&for&unix&socket,&if&one&used.&&&&&&&&&&&&&&In&Linux&read/write&permissions&must&be&set&in&order&to&allow&connections&from&web&server.&&&&&&&&&&&&&&Many&BSD-derrived&systems&allow&connections&regardless&of&permissions.&&&&&&&&&&&&&&&name=&owner&&&&&&&&&&&&&&&name=&group&&&&&&&&&&&&&&&name=&mode&0666&&&&&&&&&&&&&&&&&&&&&&&&&&&Additional&php.ini&defines,&specific&to&this&pool&of&workers.&&&&&&&&&&&&&name=&php_defines&&&&&&&&&&&&&&&name=&sendmail_path&/usr/sbin/sendmail&-t&-i&&&&&&&&&&&&&&name=&display_errors&1&&&&&&&&&&&&&&&&&&&&&&&&&&&Unix&user&of&processes&&&&&&&&&&&&&&&name=&user&www&&&&&&&&&&&&&&&&Unix&group&of&processes&&&&&&&&&&&&&&&name=&group&www&&&&&&&&&&&&&&&&Process&manager&settings&&&&&&&&&&&&&name=&pm&&&&&&&&&&&&&&&&&&&Sets&style&of&controling&worker&process&count.&&&&&&&&&&&&&&Valid&values&are&'static'&and&'apache-like'&&&&&&&&&&&&&&&name=&style&static&&&&&&&&&&&&&&&&&&Sets&the&limit&on&the&number&of&simultaneous&requests&that&will&be&served.&&&&&&&&&&&&&&Equivalent&to&Apache&MaxClients&directive.&&&&&&&&&&&&&&Equivalent&to&PHP_FCGI_CHILDREN&environment&in&original&php.fcgi&&&&&&&&&&&&&&Used&with&any&pm_style.&&&&&&&&&&&&&&&name=&max_children&128&&&&&&&&&&&&&&&&&&Settings&group&for&'apache-like'&pm&style&&&&&&&&&&&&&&&name=&apache_like&&&&&&&&&&&&&&&&&&&&&Sets&the&number&of&server&processes&created&on&startup.&&&&&&&&&&&&&&&&Used&only&when&'apache-like'&pm_style&is&selected&&&&&&&&&&&&&&&&&name=&StartServers&20&&&&&&&&&&&&&&&&&&&&Sets&the&desired&minimum&number&of&idle&server&processes.&&&&&&&&&&&&&&&&Used&only&when&'apache-like'&pm_style&is&selected&&&&&&&&&&&&&&&&&name=&MinSpareServers&5&&&&&&&&&&&&&&&&&&&&Sets&the&desired&maximum&number&of&idle&server&processes.&&&&&&&&&&&&&&&&Used&only&when&'apache-like'&pm_style&is&selected&&&&&&&&&&&&&&&&&name=&MaxSpareServers&35&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&The&timeout&(in&seconds)&for&serving&a&single&request&after&which&the&worker&process&will&be&terminated&&&&&&&&&&&&Should&be&used&when&'max_execution_time'&ini&option&does&not&stop&script&execution&for&some&reason&&&&&&&&&&&&'0s'&means&'off'&&&&&&&&&&&&&name=&request_terminate_timeout&0s&&&&&&&&&&&&&&&&The&timeout&(in&seconds)&for&serving&of&single&request&after&which&a&php&backtrace&will&be&dumped&to&slow.log&file&&&&&&&&&&&&'0s'&means&'off'&&&&&&&&&&&&&name=&request_slowlog_timeout&0s&&&&&&&&&&&&&&&&The&log&file&for&slow&requests&&&&&&&&&&&&&name=&slowlog&logs/slow.log&&&&&&&&&&&&&&&&Set&open&file&desc&rlimit&&&&&&&&&&&&&name=&rlimit_files&65535&&&&&&&&&&&&&&&&Set&max&core&size&rlimit&&&&&&&&&&&&&name=&rlimit_core&0&&&&&&&&&&&&&&&&Chroot&to&this&directory&at&the&start,&absolute&path&&&&&&&&&&&&&name=&chroot&&&&&&&&&&&&&&&&&Chdir&to&this&directory&at&the&start,&absolute&path&&&&&&&&&&&&&name=&chdir&&&&&&&&&&&&&&&&&Redirect&workers'&stdout&and&stderr&into&main&error&log.&&&&&&&&&&&&If&not&set,&they&will&be&redirected&to&/dev/null,&according&to&FastCGI&specs&&&&&&&&&&&&&name=&catch_workers_output&yes&&&&&&&&&&&&&&&&How&much&requests&each&process&should&execute&before&respawn.&&&&&&&&&&&&Useful&to&work&around&memory&leaks&in&3rd&party&libraries.&&&&&&&&&&&&For&endless&request&processing&please&specify&0&&&&&&&&&&&&Equivalent&to&PHP_FCGI_MAX_REQUESTS&&&&&&&&&&&&&name=&max_requests&102400&&&&&&&&&&&&&&&&Comma&separated&list&of&ipv4&addresses&of&FastCGI&clients&that&allowed&to&connect.&&&&&&&&&&&&Equivalent&to&FCGI_WEB_SERVER_ADDRS&environment&in&original&php.fcgi&(5.2.2&#43;)&&&&&&&&&&&&Makes&sense&only&with&AF_INET&listening&socket.&&&&&&&&&&&&&name=&allowed_clients&127.0.0.1&&&&&&&&&&&&&&&&Pass&environment&variables&like&LD_LIBRARY_PATH&&&&&&&&&&&&All&$VARIABLEs&are&taken&from&current&environment&&&&&&&&&&&&&name=&environment&&&&&&&&&&&&&&&name=&HOSTNAME&$HOSTNAME&&&&&&&&&&&&&&name=&PATH&/usr/local/bin:/usr/bin:/bin&&&&&&&&&&&&&&name=&TMP&/tmp&&&&&&&&&&&&&&name=&TMPDIR&/tmp&&&&&&&&&&&&&&name=&TEMP&/tmp&&&&&&&&&&&&&&name=&OSTYPE&$OSTYPE&&&&&&&&&&&&&&name=&MACHTYPE&$MACHTYPE&&&&&&&&&&&&&&name=&MALLOC_CHECK_&2&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
9、启动php-cgi进程,监听127.0.0.1的9000端口,进程数为200(如果服务器内存小于3GB,可以只开启64个进程),用户为www:
ulimit&-SHn&65535&&/usr/local/webserver/php/sbin/php-fpm&start&&
注:/usr/local/webserver/php/sbin/php-fpm还有其他参数,包括:start|stop|quit|restart|reload|logrotate,修改php.ini后不重启php-cgi,重新加载配置文件使用reload。
三、安装Nginx 0.8.15
  1、安装Nginx所需的pcre库:
tar&zxvf&pcre-7.9.tar.gz&&cd&pcre-7.9/&&./configure&&make&&&&make&install&&cd&../&&
2、安装Nginx
tar&zxvf&nginx-0.8.15.tar.gz&&cd&nginx-0.8.15/&&./configure&--user=www&--group=www&--prefix=/usr/local/webserver/nginx&--with-http_stub_status_module&--with-http_ssl_module&&make&&&&make&install&&cd&../&&
3、创建Nginx日志目录
mkdir&-p&/data1/logs&&chmod&&#43;w&/data1/logs&&chown&-R&www:www&/data1/logs&&
 4、创建Nginx配置文件
  ①、在/usr/local/webserver/nginx/conf/目录中创建nginx.conf文件:
rm&-f&/usr/local/webserver/nginx/conf/nginx.conf&&vi&/usr/local/webserver/nginx/conf/nginx.conf&&&&user&&www&&&&&worker_processes&8;&&&&error_log&&/data1/logs/nginx_error.log&&&&&&pid&&&&&&&&/usr/local/webserver/nginx/nginx.&&&#Specifies&the&value&for&maximum&file&descriptors&that&can&be&opened&by&this&process.&&&worker_rlimit_nofile&65535;&&&&events&&&{&&&&use&&&&&worker_connections&65535;&&}&&&&http&&&{&&&&include&&&&&&&mime.&&&&default_type&&application/octet-&&&&&#charset&&gb2312;&&&&&&&&&&&&server_names_hash_bucket_size&128;&&&&client_header_buffer_size&32k;&&&&large_client_header_buffers&4&32k;&&&&client_max_body_size&8m;&&&&&&&&&&&&sendfile&&&&&tcp_nopush&&&&&&&&&&&keepalive_timeout&60;&&&&&&tcp_nodelay&&&&&&&fastcgi_connect_timeout&300;&&&&fastcgi_send_timeout&300;&&&&fastcgi_read_timeout&300;&&&&fastcgi_buffer_size&64k;&&&&fastcgi_buffers&4&64k;&&&&fastcgi_busy_buffers_size&128k;&&&&fastcgi_temp_file_write_size&128k;&&&&&&gzip&&&&&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/&&&&gzip_vary&&&&&&#limit_zone&&crawler&&$binary_remote_addr&&10m;&&&&&&server&&&&{&&&&&&listen&&&&&&&80;&&&&&&server_name&&;&&&&&&index&index.html&index.htm&index.&&&&&&root&&/data0/htdocs/&&&&&&&#limit_conn&&&crawler&&20;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&location&~&.*/.(php|php5)?$&&&&&&{&&&&&&&&&&&&&&#fastcgi_pass&&unix:/tmp/php-cgi.&&&&&&&&fastcgi_pass&&127.0.0.1:9000;&&&&&&&&fastcgi_index&index.&&&&&&&&include&fcgi.&&&&&&}&&&&&&&&&&&&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&&/data1/logs/access.log&&&&&&&&&&}&&&&&&server&&&&{&&&&&&listen&&&&&&&80;&&&&&&server_name&&;&&&&&&index&index.html&index.htm&index.&&&&&&root&&/data0/htdocs/&&&&&&&&location&~&.*/.(php|php5)?$&&&&&&{&&&&&&&&&&&&&&#fastcgi_pass&&unix:/tmp/php-cgi.&&&&&&&&fastcgi_pass&&127.0.0.1:9000;&&&&&&&&fastcgi_index&index.&&&&&&&&include&fcgi.&&&&&&}&&&&&&&&log_format&&wwwlogs&&'$remote_addr&-&$remote_user&[$time_local]&&$request&&'&&&&&&&&&&&&&&&&&'$status&$body_bytes_sent&&$http_referer&&'&&&&&&&&&&&&&&&&&'&$http_user_agent&&$http_x_forwarded_for';&&&&&&access_log&&/data1/logs/wwwlogs.log&&&&&&}&&&&&&server&&&&{&&&&&&listen&&80;&&&&&&server_name&&status.;&&&&&&&&location&/&{&&&&&&stub_status&&&&&&&access_log&&&&&&&&&}&&&&}&&}&&
②、在/usr/local/webserver/nginx/conf/目录中创建fcgi.conf文件:
vi /usr/local/webserver/nginx/conf/fcgi.conf
fastcgi_param&&GATEWAY_INTERFACE&&CGI/1.1;&&fastcgi_param&&SERVER_SOFTWARE&&&&&&&&fastcgi_param&&QUERY_STRING&&&&&&&$query_&&fastcgi_param&&REQUEST_METHOD&&&&&$request_&&fastcgi_param&&CONTENT_TYPE&&&&&&&$content_&&fastcgi_param&&CONTENT_LENGTH&&&&&$content_&&&&fastcgi_param&&SCRIPT_FILENAME&&&&$document_root$fastcgi_script_&&fastcgi_param&&SCRIPT_NAME&&&&&&&&$fastcgi_script_&&fastcgi_param&&REQUEST_URI&&&&&&&&$request_&&fastcgi_param&&DOCUMENT_URI&&&&&&&$document_&&fastcgi_param&&DOCUMENT_ROOT&&&&&&$document_&&fastcgi_param&&SERVER_PROTOCOL&&&&$server_&&&&fastcgi_param&&REMOTE_ADDR&&&&&&&&$remote_&&fastcgi_param&&REMOTE_PORT&&&&&&&&$remote_&&fastcgi_param&&SERVER_ADDR&&&&&&&&$server_&&fastcgi_param&&SERVER_PORT&&&&&&&&$server_&&fastcgi_param&&SERVER_NAME&&&&&&&&$server_&&&#&PHP&only,&required&if&PHP&was&built&with&--enable-force-cgi-redirect&&fastcgi_param&&REDIRECT_STATUS&&&&200;&&
5、启动Nginx
ulimit&-SHn&65535&&/usr/local/webserver/nginx/sbin/nginx&&
四、配置开机自动启动Nginx &#43; PHP
vi&/etc/rc.local&&
ulimit&-SHn&65535&&/usr/local/webserver/php/sbin/php-fpm&start&&/usr/local/webserver/nginx/sbin/nginx&&
五、优化Linux内核参数
vi&/etc/sysctl.conf&&
#&Add&&net.ipv4.tcp_max_syn_backlog&=&65536&&net.core.netdev_max_backlog&=&&32768&&net.core.somaxconn&=&32768&&&&net.core.wmem_default&=&8388608&&net.core.rmem_default&=&8388608&&net.core.rmem_max&=&&&net.core.wmem_max&=&&&&&net.ipv4.tcp_timestamps&=&0&&net.ipv4.tcp_synack_retries&=&2&&net.ipv4.tcp_syn_retries&=&2&&&&net.ipv4.tcp_tw_recycle&=&1&&#net.ipv4.tcp_tw_len&=&1&&net.ipv4.tcp_tw_reuse&=&1&&&&net.ipv4.tcp_mem&=&000000&&net.ipv4.tcp_max_orphans&=&3276800&&&#net.ipv4.tcp_fin_timeout&=&30&&#net.ipv4.tcp_keepalive_time&=&120&&net.ipv4.ip_local_port_range&=&&&
六、在不停止Nginx服务的情况下平滑变更Nginx配置
  1、修改/usr/local/webserver/nginx/conf/nginx.conf配置文件后,请执行以下命令检查配置文件是否正确:
/usr/local/webserver/nginx/sbin/nginx&-t&&
如果屏幕显示以下两行信息,说明配置文件正确:
the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok
the configuration file /usr/local/webserver/nginx/conf/nginx.conf was tested successfully
<span style="color:#、这时,输入以下命令查看Nginx主进程号:
ps&-ef&|&grep&&nginx:&master&process&&|&grep&-v&&grep&&|&awk&-F&'&'&'{print&$2}'&&
屏幕显示的即为Nginx主进程号,例如:
<span style="color:#02
这时,执行以下命令即可使修改过的Nginx配置文件生效:
kill&-HUP&6302&&
 或者无需这么麻烦,找到Nginx的Pid文件:
kill&-HUP&`cat&/usr/local/webserver/nginx/nginx.pid`&&
七、编写每天定时切割Nginx日志的脚本
  1、创建脚本/usr/local/webserver/nginx/sbin/cut_nginx_log.sh
vi&/usr/local/webserver/nginx/sbin/cut_nginx_log.sh&&输入以下内容:&&&#!/bin/bash&&#&This&script&run&at&00:00&&&#&The&Nginx&logs&path&&logs_path=&/usr/local/webserver/nginx/logs/&&&&&mkdir&-p&${logs_path}$(date&-d&&yesterday&&&#43;&%Y&)/$(date&-d&&yesterday&&&#43;&%m&)/&&mv&${logs_path}access.log&${logs_path}$(date&-d&&yesterday&&&#43;&%Y&)/$(date&-d&&yesterday&&&#43;&%m&)/access_$(date&-d&&yesterday&&&#43;&%Y%m%d&).log&&kill&-USR1&`cat&/usr/local/webserver/nginx/nginx.pid&&
<span style="color:#、设置crontab,每天凌晨00:00切割nginx访问日志
crontab&-e&&
输入以下内容:
00&00&*&*&*&/bin/bash&&/usr/local/webserver/nginx/sbin/cut_nginx_log.sh&&
致此Nginx&#43;Php(Fast-Cgi)全部安装完毕 ok!
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:232084次
积分:3444
积分:3444
排名:第9216名
原创:34篇
转载:527篇
评论:15条
(13)(13)(23)(52)(19)(16)(7)(16)(68)(25)(7)(17)(17)(25)(46)(11)(7)(18)(23)(37)(68)(40)

我要回帖

更多关于 linux 搭建nginx 的文章

 

随机推荐