CentOS7编译安装新版LNMP环境
<p>由于公司要求需要最新版的ZABBIX2.4.4需要最新版的系统CENTOS7和新版的LNMP环境,所以本人摸索着使用新版的环境搭建了LNMP系统,环境版本如下:</p>
<ul>
<li>
系统:CentOS 7 x86_64</li>
<li>
NGINX:nginx-1.7.12</li>
<li>
数据库:mariadb-10.0.13</li>
<li>
PHP:php-5.5.23</li>
</ul>
<p>
首先做一些准备工作,先把centos7的防火墙更换成iptables,可以参见如下链接</p>
<p>
centos7防火墙设置iptables</p>
<p>
修改成iptables之后就可以清空iptables里面的过滤规则了,然后再关闭selinux服务。记得不要忘了先安装gcc gcc-c++ wget net-tools等功能哦。</p>
<p>
<strong>首先安装mariadb</strong></p>
<p>
应为数据库编译需要很长时间,所以我这里下载的是已经编译好了的二进制包,下载版本为 mariadb-10.0.13-linux-glibc_214-x86_64.tar.gz </p>
<p>
1、下载二进制包到/usr/local/src 目录下:</p>
<p>
</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code15311">
# cd /usr/local/src/<br>
# wget http://ftp.osuosl.org/pub/mariadb/mariadb-10.0.13/bintar-quantal-amd64/mariadb-10.0.13-linux-glibc_214-x86_64.tar.gz<br><p>
</p>
<p>
2、将压缩包解压到/usr/local 目录下:</p>
<p>
# tar zvxf mariadb-10.0.13-linux-glibc_214-x86_64.tar.gz -C /usr/local/</p>
</div>
<br><p>
</p>
<p>
3、创建mariadb 数据初始化目录/data/mysql:</p>
<p>
</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code7025">
# mkdir -p /data/mysql</div>
<br><p>
</p>
<p>
4、添加系统用户mysql,禁止登陆系统,同时,将mariadb 数据初始化目录所属主和组都修改为mysql:</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code84999">
# useradd -r -s /sbin/nologin mysql ;chown -R mysql.mysql /data/mysql/</div>
<br><p>
</p>
<p>
5、重命名解压出来的mariadb 目录:</p>
<p>
</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code24520">
# mv /usr/local/mariadb-10.0.13-linux-x86_64/ /usr/local/mysql</div>
<p>
</p>
<p>
6、进入重命名后的目录,初始化mariadb:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_577550">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># cd /usr/local/mysql/</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code><code class="bash comments"># ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">Installing MariaDB</code><code class="bash plain">/MySQL</code> <code class="bash plain">system tables </code><code class="bash keyword">in</code> <code class="bash string">'/data/mysql'</code> <code class="bash plain">...</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">140906 2:03:19 InnoDB: Using mutexes to ref count buffer pool pages</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">140906 2:03:19 InnoDB: The InnoDB memory heap is disabled</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">140906 2:03:19 InnoDB: Mutexes and rw_locks use GCC atomic builtins</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">140906 2:03:19 InnoDB: Compressed tables use zlib 1.2.3</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">140906 2:03:19 InnoDB: Using Linux native AIO</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash plain">140906 2:03:19 InnoDB: Using CPU crc32 instructions</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">140906 2:03:19 InnoDB: Initializing buffer pool, size = 128.0M</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash plain">........................................................................</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash plain">The latest information about MariaDB is available at http:</code><code class="bash plain">//mariadb</code><code class="bash plain">.org/.</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash plain">You can </code><code class="bash functions">find</code> <code class="bash plain">additional information about the MySQL part at:</code>
</div>
<div class="line number14 index13 alt1">
<code class="bash plain">http:</code><code class="bash plain">//dev</code><code class="bash plain">.mysql.com</code>
</div>
<div class="line number15 index14 alt2">
<code class="bash plain">Support MariaDB development by buying support</code><code class="bash plain">/new</code> <code class="bash plain">features from</code>
</div>
<div class="line number16 index15 alt1">
<code class="bash plain">SkySQL Ab. You can contact us about this at sales@skysql.com.</code>
</div>
<div class="line number17 index16 alt2">
<code class="bash plain">Alternatively consider joining our community based development effort:</code>
</div>
<div class="line number18 index17 alt1">
<code class="bash plain">http:</code><code class="bash plain">//mariadb</code><code class="bash plain">.com</code><code class="bash plain">/kb/en/contributing-to-the-mariadb-project/</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
报错:WARNING: The host 'test4' could not be looked up with resolveip.<br>
解决办法:<span>vim /etc/hosts 在最后一行添加192.168.1.242 test4</span></p>
<p>
报错:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory<br>
解决办法:<code>yum -y install libaio-devel libaio</code></p>
<p>
7、复制配置文件到/etc目录覆盖之前的my.cnf:</p>
<p>
</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code5957">
# cp support-files/my-large.cnf /etc/my.cnf</div>
<br>
cp:是否覆盖"/etc/my.cnf"? y<br><p>
</p>
<p>
8、复制mysql 启动脚本文件到/etc/init.d 目录下并重命名为mysqld:</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code88203">
# cp support-files/mysql.server /etc/init.d/mysqld</div>
<br><p>
</p>
<p>
同时修改启动脚本的权限为755:</p>
<p>
</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code14907">
# chmod 755 !$<br>
chmod 755 /etc/init.d/mysqld</div>
<p>
</p>
<p>
9、编辑启动脚本,定义datadir 路径:</p>
<p>
</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code34797">
# vim /etc/init.d/mysqld</div>
<br><p>
</p>
<p>
定义数据存放路径:<br>
datadir=/data/mysql</p>
<p>
10、将mariadb自带命令放入$PATH</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_949074">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># PATH=$PATH:/etc/init.d/#当前有效,重启shell就失效</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code><code class="bash comments"># echo "export PATH=$PATH:/etc/init.d/" >>/etc/profile</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain"></code><code class="bash comments"># echo "export PATH=$PATH:/usr/local/mysql/bin/" >>/etc/profile</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain"></code><code class="bash comments"># source !$</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
11、启动mariadb:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_658834">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># /etc/init.d/mysqld start</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
Starting MySQL. SUCCESS!</p>
<p>
<strong>第二步,开始安装php</strong></p>
<p>
这里要先声明一下,针对Nginx的php安装和针对apache的php安装是有区别的,因为Nginx中的php是以fastcgi的方式结合nginx的,可以理解为nginx代理了php的fastcgi,而apache是把php作为自己的模块来调用的。同样的,php官方下载地址: http://www.php.net/downloads.php</p>
<p>
下载php</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_655605">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># cd /usr/local/src</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code><code class="bash comments"># wget http://am1.php.net/distributions/php-5.5.23.tar.gz</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
解压php</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_291217">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># tar zxf php-5.5.23.tar.gz</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
创建相关账户</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_460529">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># useradd -s /sbin/nologin php-fpm</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
配置编译参数</p>
<p>
</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code1685">
# cd php-5.5.23<br>
# yum -y install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel<br>
# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --disable-ipv6 --with-pear --with-curl --enable-bcmath --enable-mbstring --enable-sockets --with-gd --with-libxml-dir=/usr/local --with-gettext</div>
<br><p>
</p>
<p>
错误:<span>configure: error: xml2-config not found. Please check your libxml2 installation.</span><br>
解决办法:<code>yum -y install libxml2-devel</code></p>
<p>
错误:<span>configure: error: Please reinstall the libcurl distribution -easy.h should be in <curl-dir>/include/curl/</span><br>
解决办法:<code>yum -y install libcurl-devel</code></p>
<p>
错误:<span>configure: error: jpeglib.h not found.</span><br>
解决办法:<code>yum -y install libjpeg-turbo-devel</code></p>
<p>
错误:<span>configure: error: png.h not found.</span><br>
解决办法:<code>yum -y install libpng-devel</code></p>
<p>
错误:<span>configure: error: freetype-config not found.</span><br>
解决办法:<span>configure: error: mcrypt.h not found. Please reinstall libmcrypt.</span></p>
<p>
错误:<span>configure: error: mcrypt.h not found. Please reinstall libmcrypt.</span><br>
解决办法:<code>yum -y install libmcrypt-devel</code></p>
<p>
安装php</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_79996">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># make && make install</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
以上每一个步骤,如果没有完全执行正确,那么下一步是无法进行的,使用 echo $? 看结果是否为 “0” , 如果不是,就是没有执行正确。</p>
<p>
修改配置文件</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_649252">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">cp</code> <code class="bash plain">php.ini-production </code><code class="bash plain">/usr/local/php/etc/php</code><code class="bash plain">.ini</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">vim </code><code class="bash plain">/usr/local/php/etc/php-fpm</code><code class="bash plain">.conf</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
把如下内容写入该文件:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_587290">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain"></code>
</div>
<div class="line number2 index1 alt1">
<code class="plain plain">pid = /usr/local/php/var/run/php-fpm.pid</code>
</div>
<div class="line number3 index2 alt2">
<code class="plain plain">error_log = /usr/local/php/var/log/php-fpm.log</code>
</div>
<div class="line number4 index3 alt1">
<code class="plain plain"></code>
</div>
<div class="line number5 index4 alt2">
<code class="plain plain">listen = /tmp/php-fcgi.sock</code>
</div>
<div class="line number6 index5 alt1">
<code class="plain plain">user = php-fpm</code>
</div>
<div class="line number7 index6 alt2">
<code class="plain plain">group = php-fpm</code>
</div>
<div class="line number8 index7 alt1">
<code class="plain plain">listen.owner = nobody</code>
</div>
<div class="line number9 index8 alt2">
<code class="plain plain">listen.group = nobody</code>
</div>
<div class="line number10 index9 alt1">
<code class="plain plain">pm = dynamic</code>
</div>
<div class="line number11 index10 alt2">
<code class="plain plain">pm.max_children = 50</code>
</div>
<div class="line number12 index11 alt1">
<code class="plain plain">pm.start_servers = 20</code>
</div>
<div class="line number13 index12 alt2">
<code class="plain plain">pm.min_spare_servers = 5</code>
</div>
<div class="line number14 index13 alt1">
<code class="plain plain">pm.max_spare_servers = 35</code>
</div>
<div class="line number15 index14 alt2">
<code class="plain plain">pm.max_requests = 500</code>
</div>
<div class="line number16 index15 alt1">
<code class="plain plain">rlimit_files = 1024</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
保存配置文件后,检验配置是否正确的方法为:</p>
<p>
<code>/usr/local/php/sbin/php-fpm -t</code></p>
<p>
如果出现诸如 “test is successful” 字样,说明配置没有问题。</p>
<p>
启动php-fpm</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_518908">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">cp</code> <code class="bash plain">/usr/local/src/php-5</code><code class="bash plain">.5.23</code><code class="bash plain">/sapi/fpm/init</code><code class="bash plain">.d.php-fpm </code><code class="bash plain">/etc/init</code><code class="bash plain">.d</code><code class="bash plain">/php-fpm</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash functions">chmod</code> <code class="bash plain">755 </code><code class="bash plain">/etc/init</code><code class="bash plain">.d</code><code class="bash plain">/php-fpm</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">service php-fpm start</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
如果想让它开机启动,执行:</p>
<p>
<code>chkconfig php-fpm on</code></p>
<p>
检测是否启动:</p>
<p>
<code>ps aux |grep php-fpm</code></p>
<p>
看看是不是有很多个进程(大概20多个)。</p>
<p>
<strong>安装nginx</strong></p>
<p>
下载nginx</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_206134">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">cd</code> <code class="bash plain">/usr/local/src/</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">wget http:</code><code class="bash plain">//nginx</code><code class="bash plain">.org</code><code class="bash plain">/download/nginx-1</code><code class="bash plain">.7.12.</code><code class="bash functions">tar</code><code class="bash plain">.gz</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
解压nginx</p>
<p>
<code>tar zxvf nginx-1.7.12.tar.gz</code></p>
<p>
配置编译参数</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_156891">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">cd</code> <code class="bash plain">nginx-1.7.12</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">.</code><code class="bash plain">/configure</code> <code class="bash plain">\</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">--prefix=</code><code class="bash plain">/usr/local/nginx</code> <code class="bash plain">\</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">--with-http_realip_module \</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">--with-http_sub_module \</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">--with-http_gzip_static_module \</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">--with-http_stub_status_module \</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">--with-pcre</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
报错<span>:./configure: error: the HTTP rewrite module requires the PCRE library.</span><br>
解决办法:<code>yum -y install pcre-devel</code></p>
<p>
报错<span>:./configure: error: the HTTP gzip module requires the zlib library.</span><br>
解决办法:<code>yum install -y zlib-devel</code></p>
<p>
编译nginx</p>
<p>
<code>make</code></p>
<p>
安装nginx</p>
<p>
<code>make install</code></p>
<p>
编写nginx启动脚本,并加入系统服务</p>
<p>
<code>vim /etc/init.d/nginx</code></p>
<p>
写入如下内容:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_382450">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
<div class="line number28 index27 alt1">
28</div>
<div class="line number29 index28 alt2">
29</div>
<div class="line number30 index29 alt1">
30</div>
<div class="line number31 index30 alt2">
31</div>
<div class="line number32 index31 alt1">
32</div>
<div class="line number33 index32 alt2">
33</div>
<div class="line number34 index33 alt1">
34</div>
<div class="line number35 index34 alt2">
35</div>
<div class="line number36 index35 alt1">
36</div>
<div class="line number37 index36 alt2">
37</div>
<div class="line number38 index37 alt1">
38</div>
<div class="line number39 index38 alt2">
39</div>
<div class="line number40 index39 alt1">
40</div>
<div class="line number41 index40 alt2">
41</div>
<div class="line number42 index41 alt1">
42</div>
<div class="line number43 index42 alt2">
43</div>
<div class="line number44 index43 alt1">
44</div>
<div class="line number45 index44 alt2">
45</div>
<div class="line number46 index45 alt1">
46</div>
<div class="line number47 index46 alt2">
47</div>
<div class="line number48 index47 alt1">
48</div>
<div class="line number49 index48 alt2">
49</div>
<div class="line number50 index49 alt1">
50</div>
<div class="line number51 index50 alt2">
51</div>
<div class="line number52 index51 alt1">
52</div>
<div class="line number53 index52 alt2">
53</div>
<div class="line number54 index53 alt1">
54</div>
<div class="line number55 index54 alt2">
55</div>
<div class="line number56 index55 alt1">
56</div>
<div class="line number57 index56 alt2">
57</div>
<div class="line number58 index57 alt1">
58</div>
<div class="line number59 index58 alt2">
59</div>
<div class="line number60 index59 alt1">
60</div>
<div class="line number61 index60 alt2">
61</div>
<div class="line number62 index61 alt1">
62</div>
<div class="line number63 index62 alt2">
63</div>
<div class="line number64 index63 alt1">
64</div>
<div class="line number65 index64 alt2">
65</div>
<div class="line number66 index65 alt1">
66</div>
<div class="line number67 index66 alt2">
67</div>
<div class="line number68 index67 alt1">
68</div>
<div class="line number69 index68 alt2">
69</div>
<div class="line number70 index69 alt1">
70</div>
<div class="line number71 index70 alt2">
71</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain">#!/bin/bash</code>
</div>
<div class="line number2 index1 alt1">
<code class="plain plain"># chkconfig: - 30 21</code>
</div>
<div class="line number3 index2 alt2">
<code class="plain plain"># description: http service.</code>
</div>
<div class="line number4 index3 alt1">
<code class="plain plain"># Source Function Library</code>
</div>
<div class="line number5 index4 alt2">
<code class="plain plain">. /etc/init.d/functions</code>
</div>
<div class="line number6 index5 alt1">
<code class="plain plain"># Nginx Settings</code>
</div>
<div class="line number7 index6 alt2">
</div>
<div class="line number8 index7 alt1">
<code class="plain plain">NGINX_SBIN="/usr/local/nginx/sbin/nginx"</code>
</div>
<div class="line number9 index8 alt2">
<code class="plain plain">NGINX_CONF="/usr/local/nginx/conf/nginx.conf"</code>
</div>
<div class="line number10 index9 alt1">
<code class="plain plain">NGINX_PID="/usr/local/nginx/logs/nginx.pid"</code>
</div>
<div class="line number11 index10 alt2">
<code class="plain plain">RETVAL=0</code>
</div>
<div class="line number12 index11 alt1">
<code class="plain plain">prog="Nginx"</code>
</div>
<div class="line number13 index12 alt2">
</div>
<div class="line number14 index13 alt1">
<code class="plain plain">start() {</code>
</div>
<div class="line number15 index14 alt2">
<code class="plain spaces"> </code><code class="plain plain">echo -n $"Starting $prog: "</code>
</div>
<div class="line number16 index15 alt1">
<code class="plain spaces"> </code><code class="plain plain">mkdir -p /dev/shm/nginx_temp</code>
</div>
<div class="line number17 index16 alt2">
<code class="plain spaces"> </code><code class="plain plain">daemon $NGINX_SBIN -c $NGINX_CONF</code>
</div>
<div class="line number18 index17 alt1">
<code class="plain spaces"> </code><code class="plain plain">RETVAL=$?</code>
</div>
<div class="line number19 index18 alt2">
<code class="plain spaces"> </code><code class="plain plain">echo</code>
</div>
<div class="line number20 index19 alt1">
<code class="plain spaces"> </code><code class="plain plain">return $RETVAL</code>
</div>
<div class="line number21 index20 alt2">
<code class="plain plain">}</code>
</div>
<div class="line number22 index21 alt1">
</div>
<div class="line number23 index22 alt2">
<code class="plain plain">stop() {</code>
</div>
<div class="line number24 index23 alt1">
<code class="plain spaces"> </code><code class="plain plain">echo -n $"Stopping $prog: "</code>
</div>
<div class="line number25 index24 alt2">
<code class="plain spaces"> </code><code class="plain plain">killproc -p $NGINX_PID $NGINX_SBIN -TERM</code>
</div>
<div class="line number26 index25 alt1">
<code class="plain spaces"> </code><code class="plain plain">rm -rf /dev/shm/nginx_temp</code>
</div>
<div class="line number27 index26 alt2">
<code class="plain spaces"> </code><code class="plain plain">RETVAL=$?</code>
</div>
<div class="line number28 index27 alt1">
<code class="plain spaces"> </code><code class="plain plain">echo</code>
</div>
<div class="line number29 index28 alt2">
<code class="plain spaces"> </code><code class="plain plain">return $RETVAL</code>
</div>
<div class="line number30 index29 alt1">
<code class="plain plain">}</code>
</div>
<div class="line number31 index30 alt2">
</div>
<div class="line number32 index31 alt1">
<code class="plain plain">reload(){</code>
</div>
<div class="line number33 index32 alt2">
<code class="plain spaces"> </code><code class="plain plain">echo -n $"Reloading $prog: "</code>
</div>
<div class="line number34 index33 alt1">
<code class="plain spaces"> </code><code class="plain plain">killproc -p $NGINX_PID $NGINX_SBIN -HUP</code>
</div>
<div class="line number35 index34 alt2">
<code class="plain spaces"> </code><code class="plain plain">RETVAL=$?</code>
</div>
<div class="line number36 index35 alt1">
<code class="plain spaces"> </code><code class="plain plain">echo</code>
</div>
<div class="line number37 index36 alt2">
<code class="plain spaces"> </code><code class="plain plain">return $RETVAL</code>
</div>
<div class="line number38 index37 alt1">
<code class="plain plain">}</code>
</div>
<div class="line number39 index38 alt2">
</div>
<div class="line number40 index39 alt1">
<code class="plain plain">restart(){</code>
</div>
<div class="line number41 index40 alt2">
<code class="plain spaces"> </code><code class="plain plain">stop</code>
</div>
<div class="line number42 index41 alt1">
<code class="plain spaces"> </code><code class="plain plain">start</code>
</div>
<div class="line number43 index42 alt2">
<code class="plain plain">}</code>
</div>
<div class="line number44 index43 alt1">
</div>
<div class="line number45 index44 alt2">
<code class="plain plain">configtest(){</code>
</div>
<div class="line number46 index45 alt1">
<code class="plain spaces"> </code><code class="plain plain">$NGINX_SBIN -c $NGINX_CONF -t</code>
</div>
<div class="line number47 index46 alt2">
<code class="plain spaces"> </code><code class="plain plain">return 0</code>
</div>
<div class="line number48 index47 alt1">
<code class="plain plain">}</code>
</div>
<div class="line number49 index48 alt2">
</div>
<div class="line number50 index49 alt1">
<code class="plain plain">case "$1" in</code>
</div>
<div class="line number51 index50 alt2">
<code class="plain spaces"> </code><code class="plain plain">start)</code>
</div>
<div class="line number52 index51 alt1">
<code class="plain spaces"> </code><code class="plain plain">start</code>
</div>
<div class="line number53 index52 alt2">
<code class="plain spaces"> </code><code class="plain plain">;;</code>
</div>
<div class="line number54 index53 alt1">
<code class="plain spaces"> </code><code class="plain plain">stop)</code>
</div>
<div class="line number55 index54 alt2">
<code class="plain spaces"> </code><code class="plain plain">stop</code>
</div>
<div class="line number56 index55 alt1">
<code class="plain spaces"> </code><code class="plain plain">;;</code>
</div>
<div class="line number57 index56 alt2">
<code class="plain spaces"> </code><code class="plain plain">reload)</code>
</div>
<div class="line number58 index57 alt1">
<code class="plain spaces"> </code><code class="plain plain">reload</code>
</div>
<div class="line number59 index58 alt2">
<code class="plain spaces"> </code><code class="plain plain">;;</code>
</div>
<div class="line number60 index59 alt1">
<code class="plain spaces"> </code><code class="plain plain">restart)</code>
</div>
<div class="line number61 index60 alt2">
<code class="plain spaces"> </code><code class="plain plain">restart</code>
</div>
<div class="line number62 index61 alt1">
<code class="plain spaces"> </code><code class="plain plain">;;</code>
</div>
<div class="line number63 index62 alt2">
<code class="plain spaces"> </code><code class="plain plain">configtest)</code>
</div>
<div class="line number64 index63 alt1">
<code class="plain spaces"> </code><code class="plain plain">configtest</code>
</div>
<div class="line number65 index64 alt2">
<code class="plain spaces"> </code><code class="plain plain">;;</code>
</div>
<div class="line number66 index65 alt1">
<code class="plain spaces"> </code><code class="plain plain">*)</code>
</div>
<div class="line number67 index66 alt2">
<code class="plain spaces"> </code><code class="plain plain">echo $"Usage: $0 {start|stop|reload|restart|configtest}"</code>
</div>
<div class="line number68 index67 alt1">
<code class="plain spaces"> </code><code class="plain plain">RETVAL=1</code>
</div>
<div class="line number69 index68 alt2">
<code class="plain plain">esac</code>
</div>
<div class="line number70 index69 alt1">
</div>
<div class="line number71 index70 alt2">
<code class="plain plain">exit $RETVAL</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
保存后,更改权限:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_598049">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">chmod</code> <code class="bash plain">755 </code><code class="bash plain">/etc/init</code><code class="bash plain">.d</code><code class="bash plain">/nginx</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">chkconfig --add nginx</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
如果想开机启动,请执行:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_946992">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">chkconfig nginx on</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
更改nginx配置</p>
<p>
首先把原来的配置文件清空:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_948597">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">> </code><code class="bash plain">/usr/local/nginx/conf/nginx</code><code class="bash plain">.conf</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
“>” 这个符号为重定向的意思,单独用它,可以把一个文本文档快速清空。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_279574">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">vim </code><code class="bash plain">/usr/local/nginx/conf/nginx</code><code class="bash plain">.conf</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
写入如下内容:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterphp" id="highlighter_268340">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
<div class="line number28 index27 alt1">
28</div>
<div class="line number29 index28 alt2">
29</div>
<div class="line number30 index29 alt1">
30</div>
<div class="line number31 index30 alt2">
31</div>
<div class="line number32 index31 alt1">
32</div>
<div class="line number33 index32 alt2">
33</div>
<div class="line number34 index33 alt1">
34</div>
<div class="line number35 index34 alt2">
35</div>
<div class="line number36 index35 alt1">
36</div>
<div class="line number37 index36 alt2">
37</div>
<div class="line number38 index37 alt1">
38</div>
<div class="line number39 index38 alt2">
39</div>
<div class="line number40 index39 alt1">
40</div>
<div class="line number41 index40 alt2">
41</div>
<div class="line number42 index41 alt1">
42</div>
<div class="line number43 index42 alt2">
43</div>
<div class="line number44 index43 alt1">
44</div>
<div class="line number45 index44 alt2">
45</div>
<div class="line number46 index45 alt1">
46</div>
<div class="line number47 index46 alt2">
47</div>
<div class="line number48 index47 alt1">
48</div>
<div class="line number49 index48 alt2">
49</div>
<div class="line number50 index49 alt1">
50</div>
<div class="line number51 index50 alt2">
51</div>
<div class="line number52 index51 alt1">
52</div>
<div class="line number53 index52 alt2">
53</div>
<div class="line number54 index53 alt1">
54</div>
<div class="line number55 index54 alt2">
55</div>
<div class="line number56 index55 alt1">
56</div>
<div class="line number57 index56 alt2">
57</div>
<div class="line number58 index57 alt1">
58</div>
<div class="line number59 index58 alt2">
59</div>
<div class="line number60 index59 alt1">
60</div>
<div class="line number61 index60 alt2">
61</div>
<div class="line number62 index61 alt1">
62</div>
<div class="line number63 index62 alt2">
63</div>
<div class="line number64 index63 alt1">
64</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="php plain">user nobody nobody;</code>
</div>
<div class="line number2 index1 alt1">
<code class="php plain">worker_processes 2;</code>
</div>
<div class="line number3 index2 alt2">
<code class="php functions">error_log</code> <code class="php plain">/usr/local/nginx/logs/nginx_error.log crit;</code>
</div>
<div class="line number4 index3 alt1">
<code class="php plain">pid /usr/local/nginx/logs/nginx.pid;</code>
</div>
<div class="line number5 index4 alt2">
<code class="php plain">worker_rlimit_nofile 51200;</code>
</div>
<div class="line number6 index5 alt1">
</div>
<div class="line number7 index6 alt2">
<code class="php plain">events</code>
</div>
<div class="line number8 index7 alt1">
<code class="php plain">{</code>
</div>
<div class="line number9 index8 alt2">
<code class="php spaces"> </code><code class="php keyword">use</code> <code class="php plain">epoll;</code>
</div>
<div class="line number10 index9 alt1">
<code class="php spaces"> </code><code class="php plain">worker_connections 6000;</code>
</div>
<div class="line number11 index10 alt2">
<code class="php plain">}</code>
</div>
<div class="line number12 index11 alt1">
</div>
<div class="line number13 index12 alt2">
<code class="php plain">http</code>
</div>
<div class="line number14 index13 alt1">
<code class="php plain">{</code>
</div>
<div class="line number15 index14 alt2">
<code class="php spaces"> </code><code class="php keyword">include</code> <code class="php plain">mime.types;</code>
</div>
<div class="line number16 index15 alt1">
<code class="php spaces"> </code><code class="php plain">default_type application/octet-stream;</code>
</div>
<div class="line number17 index16 alt2">
<code class="php spaces"> </code><code class="php plain">server_names_hash_bucket_size 3526;</code>
</div>
<div class="line number18 index17 alt1">
<code class="php spaces"> </code><code class="php plain">server_names_hash_max_size 4096;</code>
</div>
<div class="line number19 index18 alt2">
<code class="php spaces"> </code><code class="php plain">log_format combined_realip </code><code class="php string">'$remote_addr $http_x_forwarded_for [$time_local]'</code>
</div>
<div class="line number20 index19 alt1">
<code class="php spaces"> </code><code class="php string">'$host "$request_uri" $status'</code>
</div>
<div class="line number21 index20 alt2">
<code class="php spaces"> </code><code class="php string">'"$http_referer" "$http_user_agent"'</code><code class="php plain">;</code>
</div>
<div class="line number22 index21 alt1">
<code class="php spaces"> </code><code class="php plain">sendfile on;</code>
</div>
<div class="line number23 index22 alt2">
<code class="php spaces"> </code><code class="php plain">tcp_nopush on;</code>
</div>
<div class="line number24 index23 alt1">
<code class="php spaces"> </code><code class="php plain">keepalive_timeout 30;</code>
</div>
<div class="line number25 index24 alt2">
<code class="php spaces"> </code><code class="php plain">client_header_timeout 3m;</code>
</div>
<div class="line number26 index25 alt1">
<code class="php spaces"> </code><code class="php plain">client_body_timeout 3m;</code>
</div>
<div class="line number27 index26 alt2">
<code class="php spaces"> </code><code class="php plain">send_timeout 3m;</code>
</div>
<div class="line number28 index27 alt1">
<code class="php spaces"> </code><code class="php plain">connection_pool_size 256;</code>
</div>
<div class="line number29 index28 alt2">
<code class="php spaces"> </code><code class="php plain">client_header_buffer_size 1k;</code>
</div>
<div class="line number30 index29 alt1">
<code class="php spaces"> </code><code class="php plain">large_client_header_buffers 8 4k;</code>
</div>
<div class="line number31 index30 alt2">
<code class="php spaces"> </code><code class="php plain">request_pool_size 4k;</code>
</div>
<div class="line number32 index31 alt1">
<code class="php spaces"> </code><code class="php plain">output_buffers 4 32k;</code>
</div>
<div class="line number33 index32 alt2">
<code class="php spaces"> </code><code class="php plain">postpone_output 1460;</code>
</div>
<div class="line number34 index33 alt1">
<code class="php spaces"> </code><code class="php plain">client_max_body_size 10m;</code>
</div>
<div class="line number35 index34 alt2">
<code class="php spaces"> </code><code class="php plain">client_body_buffer_size 256k;</code>
</div>
<div class="line number36 index35 alt1">
<code class="php spaces"> </code><code class="php plain">client_body_temp_path /usr/local/nginx/client_body_temp;</code>
</div>
<div class="line number37 index36 alt2">
<code class="php spaces"> </code><code class="php plain">proxy_temp_path /usr/local/nginx/proxy_temp;</code>
</div>
<div class="line number38 index37 alt1">
<code class="php spaces"> </code><code class="php plain">fastcgi_temp_path /usr/local/nginx/fastcgi_temp;</code>
</div>
<div class="line number39 index38 alt2">
<code class="php spaces"> </code><code class="php plain">fastcgi_intercept_errors on;</code>
</div>
<div class="line number40 index39 alt1">
<code class="php spaces"> </code><code class="php plain">tcp_nodelay on;</code>
</div>
<div class="line number41 index40 alt2">
<code class="php spaces"> </code><code class="php plain">gzip on;</code>
</div>
<div class="line number42 index41 alt1">
<code class="php spaces"> </code><code class="php plain">gzip_min_length 1k;</code>
</div>
<div class="line number43 index42 alt2">
<code class="php spaces"> </code><code class="php plain">gzip_buffers 4 8k;</code>
</div>
<div class="line number44 index43 alt1">
<code class="php spaces"> </code><code class="php plain">gzip_comp_level 5;</code>
</div>
<div class="line number45 index44 alt2">
<code class="php spaces"> </code><code class="php plain">gzip_http_version 1.1;</code>
</div>
<div class="line number46 index45 alt1">
<code class="php spaces"> </code><code class="php plain">gzip_types text/plain application/x-javascript text/css text/htm application/xml;</code>
</div>
<div class="line number47 index46 alt2">
</div>
<div class="line number48 index47 alt1">
<code class="php plain">server</code>
</div>
<div class="line number49 index48 alt2">
<code class="php plain">{</code>
</div>
<div class="line number50 index49 alt1">
<code class="php spaces"> </code><code class="php plain">listen 80;</code>
</div>
<div class="line number51 index50 alt2">
<code class="php spaces"> </code><code class="php plain">server_name localhost;</code>
</div>
<div class="line number52 index51 alt1">
<code class="php spaces"> </code><code class="php plain">index index.html index.htm index.php;</code>
</div>
<div class="line number53 index52 alt2">
<code class="php spaces"> </code><code class="php plain">root /usr/local/nginx/html;</code>
</div>
<div class="line number54 index53 alt1">
</div>
<div class="line number55 index54 alt2">
<code class="php spaces"> </code><code class="php plain">location ~ \.php$ {</code>
</div>
<div class="line number56 index55 alt1">
<code class="php spaces"> </code><code class="php keyword">include</code> <code class="php plain">fastcgi_params;</code>
</div>
<div class="line number57 index56 alt2">
<code class="php spaces"> </code><code class="php plain">fastcgi_pass unix:/tmp/php-fcgi.sock;</code>
</div>
<div class="line number58 index57 alt1">
<code class="php spaces"> </code><code class="php plain">fastcgi_index index.php;</code>
</div>
<div class="line number59 index58 alt2">
<code class="php spaces"> </code><code class="php plain">fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html</code><code class="php variable">$fastcgi_script_name</code><code class="php plain">;</code>
</div>
<div class="line number60 index59 alt1">
<code class="php spaces"> </code><code class="php plain">}</code>
</div>
<div class="line number61 index60 alt2">
</div>
<div class="line number62 index61 alt1">
<code class="php plain">}</code>
</div>
<div class="line number63 index62 alt2">
</div>
<div class="line number64 index63 alt1">
<code class="php plain">}</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
保存配置后,先检验一下配置文件是否有错误存在:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_335043">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">/usr/local/nginx/sbin/nginx</code> <code class="bash plain">-t</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
如果显示内容如下,则配置正确,否则需要根据错误提示修改配置文件:</p>
<p>
<span>nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok<br>
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful</span></p>
<p>
启动nginx:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_184592">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">service nginx start</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
如果不能启动,请查看 “/usr/local/nginx/logs/error.log” 文件,检查nginx是否启动:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_228774">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">ps</code> <code class="bash plain">aux |</code><code class="bash functions">grep</code> <code class="bash plain">nginx</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
看是否有进程。</p>
<p>
测试是否解析php文件</p>
<p>
创建测试文件:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_157707">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">vim </code><code class="bash plain">/usr/local/nginx/html/2</code><code class="bash plain">.php</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
内容如下:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterphp" id="highlighter_909812">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="php plain"><?php </code><code class="php functions">echo</code> <code class="php plain">phpinfo();?></code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
测试:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_613811">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># curl localhost/2.php</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
或者使用浏览器打开http://YourServerIPAddress/2.php</p>
<p>
重要:如果解析不了,检查日志发现连接不到php,我的php版本为5.5.23,比较新的版本,需要在php/etc/php-fpm.conf文件中添加</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_182890">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain">listen.owner = nobody</code>
</div>
<div class="line number2 index1 alt1">
<code class="plain plain">listen.group = nobody</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
这两行,再重启一下服务就能使用php了</p>
<p>
原因是/tmp/php-fcgi.sock这个文件没有读权限</p>
<p>
至此,最新版的LNMP环境源码编译安装完成了</p>
頁:
[1]