|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
小知识:Linux操作系统的诞生创始人林纳斯·托瓦兹。
1、简介
Nginx是俄罗斯人编写的非常轻量级的HTTP办事器,Nginx,它的发音为“engineX”,是一个高机能的HTTP和反向署理办事器,同时也是一个IMAP/POP3/SMTP署理办事器.Nginx是由俄罗斯人IgorSysoev为俄罗斯拜访量第二的Rambler.ru站点开辟的,它曾经在该站点运转跨越三年了。IgorSysoev在树立的项目时,应用基于BSD允许。
在高并发衔接的情形下,Nginx是Apache办事器不错的替换品。Nginx同时也能够作为7层负载平衡办事器来应用。Nginx0.8.46+PHP5.2.14(FastCGI)可以蒙受3万以上的并发衔接数,相当于一致情况下Apache的10倍。
Nginx超出Apache的高机能和稳固性,使得国际应用Nginx作为Web办事器的网站也愈来愈多,个中包含新浪博客、新浪播客、网易消息、腾讯网、搜狐博客等门户网站频道,六间房、56.com等视频分享网站,Discuz!官方服装论坛、水木社区等著名服装论坛,隆重在线、金山逍遥网等收集游戏网站,豆瓣、人人网、YUPOO相册、金山爱词霸、迅雷在线等新兴Web2.0网站。
为何Nginx的机能要比Apache高很多?这得益于Nginx应用了最新的epoll(Linux2.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的机能谁的机能更高,异样非常清楚明了。
Nginx的官方中文维基:http://wiki.nginx.org/NginxChs
2、体系情况
体系平台:RHEL5.4(体系请求:Linux2.6+内核)
Nginx版本:nginx/1.0.15
Mysql版本:5.1.35-logSourcedistribution
Php版本:php-5.2.10
3、装置预备
1、获得相干开源法式并装置
RedHat等其他Linux刊行版可从装置光盘中找到这些法式库的RPM包RedHat可以直接应用CentOS的RPM包装置。
可以用rpm装置以下包,若有联系关系包,装置时一路装置。
gccgcc-c++autoconflibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibxml2libxml2-develzlibzlib-develglibcglibc-develglib2glib2-develbzip2bzip2-develncursesncurses-develcurlcurl-devele2fsprogse2fsprogs-develkrb5krb5-devellibidnlibidn-developensslopenssl-developenldapopenldap-develnss_ldapopenldap-clientsopenldap-servers
以上包假如装置了的话,不须要再装置了。
2、RPM包搜刮网站
http://rpm.pbone.net/
http://www.rpmfind.net/
http://code.谷歌.com/p/zed-lnmp/
3、nginx软件包预备
Nginx所须要的软件包可以从上面地位获得,也能够记住名字在谷歌中搜刮。
nginx-0.7.61.tar.gz
php-5.2.10.tar.gz
php-5.2.10-fpm-0.5.11.diff.gz
mysql-5.1.35.tar.gz
libiconv-1.13.tar.gz
libmcrypt-2.5.8.tar.gz
mcrypt-2.6.8.tar.gz
memcache-2.2.5.tgz
mhash-0.9.9.9.tar.gz
pcre-7.9.tar.gz
eaccelerator-0.9.5.3.tar.bz2
PDO_MYSQL-1.0.2.tgz
ImageMagick.tar.gz
imagick-2.2.2.tgz
4、装置PHP5.2.10(FastCGI形式)
编译装置PHP5.2.10所需的支撑库:
1.装置libiconv
对文本停止编码间的转换,用它来处置中文各类编码之间的转换。
#tarzxvflibiconv-1.13.tar.gz
#cdlibiconv-1.13/
#./configure--prefix=/usr/local
#make
#makeinstall
cd../
2.装置libmcrypt完成加密功效的库。
#tarzxvflibmcrypt-2.5.8.tar.gz
#cdlibmcrypt-2.5.8/
#./configure
#make
#makeinstall
#/sbin/ldconfig
#注:这里不要加入去了。
#cdlibltdl/
#./configure--enable-ltdl-install
#make
#makeinstall
#cdhttp://www.ckuyun.com/
3.装置mhash(哈稀函数库)
#tarzxvfmhash-0.9.9.9.tar.gz
#cdmhash-0.9.9.9/
#./configure
#make
#makeinstall
#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
4.装置mcrypt
#tarzxvfmcrypt-2.6.8.tar.gz
#cdmcrypt-2.6.8/
#/sbin/ldconfig
#./configure
#make
#makeinstall
#cd../
注:DG库所须要装置包,可以采取rpm包来装置,削减时光,因为php曾经集成GD库,但条件支撑包应事前装置,如zlib,png,jpeg,freetype等。假如完整想采取tar包装置的话,请参考lamp相干内容。
5、编译装置MySQL
树立mysql组,树立mysql用户而且参加到mysql组中
#groupaddmysql
#useraddmysql-gmysql
[root@linuxlnmp]#tarzxvfmysql-5.1.35.tar.gz
[root@linuxlnmp]#cdmysql-5.1.35
#./configure--prefix=/usr/local/mysql
--without-debug
--with-extra-charsets=gbk
--with-extra-charsets=all
--enable-assembler
--with-pthread
--enable-thread-safe-client
--with-mysqld-ldflags=-all-static/*不带同享库的情势编译mysqld*/
--with-client-ldflags=-all-static
--with-big-tables
--with-readline/*要采取rpm方法装置ncurses或tar包装置*/
--with-ssl/*要采取rpm方法装置openssl*/
--with-embedded-server
--enable-local-infile
--with-plugins=innobase
#make&&makeinstall
#/usr/local/mysql/bin/mysql_install_db--user=mysql
#以mysql身份初始化数据库
#cp./support-files/mysql.server/etc/init.d/mysql
#复制Mysql启动办事至体系
#cp./support-files/my-medium.cnf/etc/my.cnf
#chmod755/etc/init.d/mysql
#cd/usr/local/mysql/#切换到cd/usr/local/mysql/目次下
#chown-Rmysql.#转变以后目次下的一切者为mysql用户
#chown-Rmysqlvar#修正数据库目次的权限
#chgrp-Rmysql.#转变以后目次下的mysql用户的文件为mysql组
#/usr/local/mysql/bin/mysqld_safe--user=mysql&
#/usr/local/mysql/bin/mysqladmin-urootpasswordadmin#设置治理员暗码
[root@linuxhtml]#/usr/local/mysql/bin/mysql-uroot-p#测试暗码输出
Enterpassword:
WelcometotheMySQLmonitor.Commandsendwith;org.
YourMySQLconnectionidis5
Serverversion:5.1.35-logSourcedistribution
Typehelp;orhforhelp.Typectoclearthecurrentinputstatement.
mysql>q/*加入mysql*/
#chkconfig--addmysql#添加mysqld办事到体系
#chkconfigmysqlon#翻开myslqd办事
#servicemysqlstart#启动Mysql
#/usr/local/mysql/bin/mysqladminshutdown#封闭数据库
#检查mysql端口的翻开情形
#netstat-tunlp
ActiveInternetconnections(onlyservers)
ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Pname
tcp000.0.0.0:33060.0.0.0:*LISTEN2936/
#检查能否启动:
#ps-ef|grepmysql
注:在设置装备摆设过程当中,全体的设置装备摆设思绪从上往下,个中的一些功效可以用在现实的设置装备摆设过程当中,重要用于测试环节中。
Mysql的优化部门这里没有给出,须要参考其它材料。
6、编译装置PHP
这个处所是最主要的,由于默许情形下Nginx和PHP他俩之间是一点感到没有的。在之前搭建过Apache+PHP,Apache+PHP编译后生成的是模块文件,而Nginx+PHP须要PHP生成可履行文件才可以,所以要应用fastcgi技巧来完成Nginx与PHP的整合,这个只需我们装置时启用FastCGI便可。此次我们装置PHP不只应用了FastCGI,并且还应用了PHP-FPM这么一个东东,PHP-FPM说白了是一个治理FastCGI的一个治理器,它作为PHP的插件存在,在装置PHP时要想应用PHP-FPM就须要把PHP-FPM以补钉的情势装置到PHP中,并且PHP要与PHP-FPM版本分歧,这是必需的,切记!
#tarzxvfphp-5.2.10.tar.gz
#gzip-cdphp-5.2.10-fpm-0.5.11.diff.gz|patch-dphp-5.2.10-p1
#将php-5.2.10-fpm-0.5.11.diff.gz以补钉情势加到php-5.2.10外面
#cdphp-5.2.10/
#./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-gd
--enable-gd-native-ttf
--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-openssl
--with-mhash
--enable-pcntl
--enable-sockets
--with-ldap
--with-ldap-sasl
--with-xmlrpc
--enable-zip
--enable-soap
--without-pear
注:Nginx+PHP整合,在装置时必需启用-Cenable-fastcgi和--enable-fpm,这两个选项是做甚么的下面曾经描写。履行完后体系会提醒-Cenable-fastcgi是一个未知选项,我们不用理睬。
#注:make的时刻必定要加上前面的参数,能力胜利。
#makeZEND_EXTRA_LIBS=-liconv
#makeinstall
#cpphp.ini-dist/usr/local/php/etc/php.ini
#cd../
注:在装置过程当中采取了tar包与rpm混杂装置的情形,关于库的指定确切涌现了很年夜的费事。假如采取rpm装置的话,不须要指定支撑包的地位就能够了,tar装置的话,须要指定装置地位。
7、编译装置PHP5扩大模块
1.装置memcache
#tarzxvfmemcache-2.2.5.tgz
#cdmemcache-2.2.5/
#/usr/local/php/bin/phpize
#./configure--with-php-config=/usr/local/php/bin/php-config
#make
#makeinstall
#解释:memcache库的地位
Installingsharedextensions:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
#cd..
2.装置eacceleratorphp加快
#tarjxvfeaccelerator-0.9.5.3.tar.bz2
#cdeaccelerator-0.9.5.3/
#/usr/local/php/bin/phpize
#./configure--enable-eaccelerator=shared--with-php-config=/usr/local/php/bin/php-config
#make
#makeinstall
Installingsharedextensions:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
#cd../
3.装置PDO_MYSQL(数据库衔接的支撑)
#tarzxvfPDO_MYSQL-1.0.2.tgz
#cdPDO_MYSQL-1.0.2/
#/usr/local/php/bin/phpize
#./configure--with-php-config=/usr/local/php/bin/php-config
--with-pdo-mysql=/usr/local/mysql
#make
#makeinstall
Installingsharedextensions:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
#cd../
4.装置ImageMagick是Linux下异常壮大的图像处置函数与GD相似.
#tarzxvfImageMagick.tar.gz
#cdImageMagick-6.5.1-2/
#./configure
#make
#makeinstall
#cd../
5.装置imagick(衔接PHP和ImageMagick的通道)
#tarzxvfimagick-2.2.2.tgz
#cdimagick-2.2.2/
#/usr/local/php/bin/phpize
#./configure--with-php-config=/usr/local/php/bin/php-config
#make
#makeinstall
Installingsharedextensions:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
#cd../
6.修正php.ini文件,已使php支撑扩大的功效
vi/usr/local/php/etc/php.ini
查找
extension_dir="./"
修正为
extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
并在此行后增长以下几行,然后保留:
extension="memcache.so"
extension="pdo_mysql.so"
extension="imagick.so"
再查找output_buffering=Off
修正为output_buffering=On
7.设置装备摆设eAccelerator加快PHP:
mkdir-p/usr/local/eaccelerator_cache
vi/usr/local/php/etc/php.ini
到设置装备摆设文件的最末尾,粘上以下内容:
[eaccelerator]
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/usr/local/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"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
8、PHP-fpm设置装备摆设
1.创立php-fpm设置装备摆设文件
php-fpm是为PHP打的一个FastCGI治理补钉,可以腻滑变革php.ini设置装备摆设而无需重启php-cgi:
在/usr/local/php/etc/目次中创立php-fpm.conf文件,也能够在原本的基本长进行修正。
假如您装置Nginx+PHP用于法式调试
请将以下的
<valuename="display_errors">0</value>改成
<valuename="display_errors">1</value>,以便显示PHP毛病信息,不然,Nginx会报状况为500的空白毛病页。
解释:创立www用户与组,这里创立了上面就不消创立了。
#/usr/sbin/groupaddwww-g48
#/usr/sbin/useradd-u48-gwwwwww
rm-f/usr/local/php/etc/php-fpm.conf
vi/usr/local/php/etc/php-fpm.conf
###############################
#输出或许是修正为以下内容:
###############################
<?xmlversion="1.0"?>
<configuration>
<sectionname="global_options">
<valuename="pid_file">/usr/local/php/logs/php-fpm.pid</value>
<valuename="error_log">/usr/local/php/logs/php-fpm.log</value>
<valuename="log_level">notice</value>
<valuename="emergency_restart_threshold">10</value>
<valuename="emergency_restart_interval">1m</value>
<valuename="process_control_timeout">5s</value>
<valuename="daemonize">yes</value>
</section>
<workers>
<sectionname="pool">
<valuename="name">default</value>
<valuename="listen_address">127.0.0.1:9000</value>
<valuename="listen_options">
<valuename="backlog">-1</value>
<valuename="owner"></value>
<valuename="group"></value>
<valuename="mode">0666</value>
</value>
<valuename="php_defines">
<valuename="sendmail_path">/usr/sbin/sendmail-t-i</value>
<valuename="display_errors">1</value>
</value>
<valuename="user">www</value>
<valuename="group">www</value>
<valuename="pm">
<valuename="style">static</value>
<valuename="max_children">128</value>
<valuename="apache_like">
<valuename="StartServers">20</value>
<valuename="MinSpareServers">5</value>
<valuename="MaxSpareServers">35</value>
</value>
</value>
<valuename="request_terminate_timeout">0s</value>
<valuename="request_slowlog_timeout">0s</value>
<valuename="slowlog">logs/slow.log</value>
<valuename="rlimit_files">51200</value>
<valuename="rlimit_core">0</value>
<valuename="chroot"></value>
<valuename="chdir"></value>
<valuename="catch_workers_output">yes</value>
<valuename="max_requests">500</value>
<valuename="allowed_clients">127.0.0.1</value>
<valuename="environment">
<valuename="HOSTNAME">$HOSTNAME</value>
<valuename="PATH">/usr/local/bin:/usr/bin:/bin</value>
<valuename="TMP">/tmp</value>
<valuename="TMPDIR">/tmp</value>
<valuename="TEMP">/tmp</value>
<valuename="OSTYPE">$OSTYPE</value>
<valuename="MACHTYPE">$MACHTYPE</value>
<valuename="MALLOC_CHECK_">2</value>
</value>
</section>
</workers>
</configuration>
2.php-fpm启动与治理
/usr/local/php/sbin/php-fpmstart
注:/usr/local/php/sbin/php-fpm还有其他参数,包含:
start|stop|quit|restart|reload|logrotate,修正php.ini后不重启php-cgi,从新加载设置装备摆设文件应用reload,就坚持了在php的fastcgi过程连续运转的状况下,又从新加载了php.ini。
9、Nginx装置
1.nginx装置
Nginx只是web办事器,合营php技巧完成的fastcgi来进步机能。
1、装置rewrite模块支撑包pcre库:
pcre是perl所用到的正则表达式,目标是让所装的软件支撑正则表达式。默许情形下,Nginx只处置静态的网页要求,也就是html.假如是来主动态的网页要求,好比*.php,那末Nginx就要依据正则表达式查询路径,然后把*.PHP交给PHP行止理。
#tarzxvfpcre-7.8.tar.gz
#cdpcre-7.8/
#./configure
#make&&makeinstall
cd../
2.装置Nginx
解释:创立www用户组及www用户,假如之前php-fpm没有创立,这里要创立。
#/usr/sbin/groupaddwww
#/usr/sbin/useradd-gwwwwww
#tarzxvfnginx-1.0.15.tar.gz
#cdnginx-1.0.15/
#./configure--user=www--group=www--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_ssl_module
nginxpathprefix:"/usr/local/nginx"
nginxbinaryfile:"/usr/local/nginx/sbin/nginx"
nginxconfigurationprefix:"/usr/local/nginx/conf"
nginxconfigurationfile:"/usr/local/nginx/conf/nginx.conf"
nginxpidfile:"/usr/local/nginx/logs/nginx.pid"
nginxerrorlogfile:"/usr/local/nginx/logs/error.log"
nginxhttpaccesslogfile:"/usr/local/nginx/logs/access.log"
nginxhttpclientrequestbodytemporaryfiles:"client_body_temp"
nginxhttpproxytemporaryfiles:"proxy_temp"
nginxhttpfastcgitemporaryfiles:"fastcgi_temp"
#make&&makeinstall
#cd../
3.Nginx装置后只要一个法式文件,自己其实不供给各类治理法式,它是应用参数和体系旌旗灯号机制对Nginx过程自己停止掌握的。
Nginx的参数包含有以下几个:
-c<path_to_config>:应用指定的设置装备摆设文件而不是conf目次下的nginx.conf。
-t:测试设置装备摆设文件能否准确,在运转时须要从新加载设置装备摆设的时刻,此敕令异常主要,用来检测所修正的设置装备摆设文件能否有语法毛病。
-v:显示nginx版本号。
-V:显示nginx的版本号和编译情况信息和编译时的参数。
例如我们要测试某个设置装备摆设文件能否书写准确,我们可使用以下敕令
sbin/nginx-t-cconf/nginx.conf
10、nginx设置装备摆设
1.在/usr/local/nginx/conf/目次中创立nginx.conf文件:
rm-f/usr/local/nginx/conf/nginx.conf
vi/usr/local/nginx/conf/nginx.conf
=======================================
nginx.conf才是nginxweb办事器的设置装备摆设文件
=======================================
userwwwwww;/*启动nginx办事的用户与组*/
worker_processes1;/*启动nginx办事的任务过程*/
error_loglogs/nginx_error.logcrit;/*毛病日记,和品级*/
pid/usr/local/nginx/nginx.pid;/*nginx办事过程PID*/
worker_rlimit_nofile51200;
events
{
useepoll;/*任务形式*/
worker_connections51200;/*每过程许可最年夜的同时衔接数*/
}
http
{
includemime.types;
default_typeapplication/octet-stream;
#charsetgb2312;
server_names_hash_bucket_size128;
client_header_buffer_size32k;
large_client_header_buffers432k;
sendfileon;
tcp_nopushon;
keepalive_timeout60;
tcp_nodelayon;
fastcgi_connect_timeout300;
fastcgi_send_timeout300;
fastcgi_read_timeout300;
fastcgi_buffer_size64k;
fastcgi_buffers464k;
fastcgi_busy_buffers_size128k;
fastcgi_temp_file_write_size128k;
gzipon;
gzip_min_length1k;
gzip_buffers416k;
gzip_http_version1.0;
gzip_comp_level2;
gzip_typestext/plainapplication/x-javascripttext/CSSapplication/xml;
gzip_varyon;
#limit_zonecrawler$binary_remote_addr10m;
server
{
listen80;/*监听端口*/
server_namelocalhost;/*办事器称号*/
indexindex.htmlindex.htmindex.php;/*缺省主页称号*/
root/usr/local/nginx/html;/*网站根目次,也能够采取上面内容*/
#也能够采取绝对路径,上面正文部门*/
#location/{
#roothtml;
#indexindex.htmlindex.htm;
#}
#limit_conncrawler20;
#经由过程FastCGI方法支撑PHP,php页面由fastcgi署理处置,这也是反向署理的一个运用,这里可所以jsp/asp等剧本。
#Nginx是经由过程本机的9000端口将PHP要求转发给PHP的,PHP本身是从本机的9000端口侦听数据,Nginx与PHP经由过程本机的9000端口完成了数据要求。
location~.*.(php|php5)?$
{
#fastcgi_passunix:/tmp/php-cgi.sock;
fastcgi_pass127.0.0.1:9000;/*fastcgi监听端口*/
fastcgi_indexindex.php;
includefcgi.conf;/*fastcgi设置装备摆设文件,修正为以下内容*/
}
#关于某一类型的文件,设置过时时光,静态的页面平日设置长一点。
#静态文件,nginx本身处置
location~.*.(gif|jpg|jpeg|png|bmp|swf|js|css)$
{
expires30d;
}
#日记的格局
log_formataccess$remote_addr-$remote_user[$time_local]"$request"
$status$body_bytes_sent"$http_referer"
"$http_user_agent"$http_x_forwarded_for;
access_loglogs/access.logaccess;
}
}
解释:以上设置装备摆设文件只是根本设置装备摆设文件,要完成其它功效的话,须要在此基本长进行修正。
2.在/usr/local/nginx/conf/目次中创立fcgi.conf文件:
解释:可以直接粘贴以下内容。
vi/usr/local/nginx/conf/fcgi.conf
fastcgi_paramGATEWAY_INTERFACECGI/1.1;
fastcgi_paramSERVER_SOFTWAREnginx;
fastcgi_paramQUERY_STRING$query_string;
fastcgi_paramREQUEST_METHOD$request_method;
fastcgi_paramCONTENT_TYPE$content_type;
fastcgi_paramCONTENT_LENGTH$content_length;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
fastcgi_paramSCRIPT_NAME$fastcgi_script_name;
fastcgi_paramREQUEST_URI$request_uri;
fastcgi_paramDOCUMENT_URI$document_uri;
fastcgi_paramDOCUMENT_ROOT$document_root;
fastcgi_paramSERVER_PROTOCOL$server_protocol;
fastcgi_paramREMOTE_ADDR$remote_addr;
fastcgi_paramREMOTE_PORT$remote_port;
fastcgi_paramSERVER_ADDR$server_addr;
fastcgi_paramSERVER_PORT$server_port;
fastcgi_paramSERVER_NAME$server_name;
#PHPonly,requiredifPHPwasbuiltwith--enable-force-cgi-redirect
fastcgi_paramREDIRECT_STATUS200;
11、nginx启动与治理
1.启动nginx
/usr/local/nginx/sbin/nginx
2.测试nginx设置装备摆设文件
修正/usr/local/nginx/conf/nginx.conf设置装备摆设文件后,请履行以下敕令检讨设置装备摆设文件能否准确:
#/usr/local/nginx/sbin/nginx-t
假如屏幕显示以下两行信息,解释设置装备摆设文件准确:
theconfigurationfile/usr/local/nginx/conf/nginx.confsyntaxisok
theconfigurationfile/usr/local/nginx/conf/nginx.confwastestedsuccessfully
3.检查Nginx主过程号
ps-ef|grep"nginx:masterprocess"|grep-v"grep"|awk-F{print$2}
屏幕显示的即为Nginx主过程号,例如:
6302
这时候,履行以下敕令便可使修正过的Nginx设置装备摆设文件失效:
kill-HUP6302
或许无需这么费事,找到Nginx的Pid文件:
kill-HUP`cat/usr/local/nginx/logs/nginx.pid`
4.设置装备摆设开机主动启动Nginx+PHP
vi/etc/rc.local
参加以下内容:
ulimit-SHn51200
/usr/local/php/sbin/php-fpmstart
/usr/local/nginx/sbin/nginx
5.测试nginx
vi/usr/local/nginx/html/phpinfo.php
<?
phpinfo();
?>
6.测试成果
phpinfo()
小知识:Linux发展和成长过程始终依赖着五个重要支柱:UNIX操作系统、MINIX操作系统、GNU计划、POSIX标准和Internet网络。 |
|