nginx+php环境搭建详解(Linux)
<p> </p><blockquote>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">今天在内网环境下,给linux主机安装nginx+php环境,由于是内网环境,只能手动解压缩包进行安装,在这过程中我也着实遇到了一些问题(困扰了我许久),还好最后搭建环境成功了,所以写篇博客记录一下,望广大读友以后不要采坑。</span></p>
</blockquote>
<h1><span style="font-family: "comic sans ms", sans-serif">搭建nginx环境</span></h1>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">linux系统以centos7 64位为例</span></p>
<h1><span style="font-family: "comic sans ms", sans-serif">准备目录</span></h1>
<div class="cnblogs_code">
<p><span style="font-family: "comic sans ms", sans-serif">mkdir /usr/local/<span style="color: rgba(0, 0, 0, 1)">nginx </span></span></p>
<p><span style="font-family: "comic sans ms", sans-serif"><span style="color: rgba(0, 0, 0, 1)">cd </span>/usr/local/nginx/</span></p>
</div>
<h1><span style="font-family: "comic sans ms", sans-serif">下载</span></h1>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">从http://nginx.org/download/上下载相应的版本(我这里以http://nginx.org/download/nginx-1.5.9.tar.gz为例)</span></p>
<h1><span style="font-family: "comic sans ms", sans-serif">解压</span></h1>
<div class="cnblogs_code">
<p><span style="font-family: "comic sans ms", sans-serif">tar -zxvf nginx-<span style="color: rgba(128, 0, 128, 1)">1.5</span>.<span style="color: rgba(128, 0, 128, 1)">9</span>.tar.gz </span></p>
</div>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">解压后移至目录</span></p>
<div class="cnblogs_code">
<p><span style="font-family: "comic sans ms", sans-serif"># cd nginx-<span style="color: rgba(128, 0, 128, 1)">1.5</span>.<span style="color: rgba(128, 0, 128, 1)">9</span>/</span></p>
</div>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">设置Nginx安装路径,如果没有指定,默认为/usr/local/nginx</span></p>
<div class="cnblogs_code">
<p><span style="font-family: "comic sans ms", sans-serif"># ./configure --prefix=/usr/local/nginx</span></p>
</div>
<p> </p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">结尾如果是这样,且没显红,就说明执行成功了</span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">Configuration summary
</span>+ <span style="color: rgba(0, 0, 255, 1)">using</span><span style="color: rgba(0, 0, 0, 1)"> system PCRE library
</span>+ OpenSSL library <span style="color: rgba(0, 0, 255, 1)">is</span><span style="color: rgba(0, 0, 0, 1)"> not used
</span>+ md5: <span style="color: rgba(0, 0, 255, 1)">using</span><span style="color: rgba(0, 0, 0, 1)"> system crypto library
</span>+ sha1: <span style="color: rgba(0, 0, 255, 1)">using</span><span style="color: rgba(0, 0, 0, 1)"> system crypto library
</span>+ <span style="color: rgba(0, 0, 255, 1)">using</span><span style="color: rgba(0, 0, 0, 1)"> system zlib library
nginx path prefix: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/usr/local/nginx</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
nginx binary file: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/usr/local/nginx/sbin/nginx</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
nginx configuration prefix: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/usr/local/nginx/conf</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
nginx configuration file: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/usr/local/nginx/conf/nginx.conf</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
nginx pid file: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/usr/local/nginx/logs/nginx.pid</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
nginx error log file: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/usr/local/nginx/logs/error.log</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
nginx http access log file: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/usr/local/nginx/logs/access.log</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
nginx http client request body temporary files: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">client_body_temp</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
nginx http proxy temporary files: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">proxy_temp</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
nginx http fastcgi temporary files: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">fastcgi_temp</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
nginx http uwsgi temporary files: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uwsgi_temp</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
nginx http scgi temporary files: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">scgi_temp</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
# </pre>
</div>
<p> </p>
<h1><span style="font-family: "comic sans ms", sans-serif">然后进行编译</span></h1>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">make (make的过程是把各种语言写的源码文件,变成可执行文件和各种库文件)</span></p>
<div class="cnblogs_code">
<pre># make</pre>
</div>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">结尾若是这,就说明成功了</span></p>
<div class="cnblogs_code">
<pre>make[<span style="color: rgba(128, 0, 128, 1)">1</span>]: Entering directory `/usr/local/nginx/nginx-<span style="color: rgba(128, 0, 128, 1)">1.5</span>.<span style="color: rgba(128, 0, 128, 1)">9</span><span style="color: rgba(128, 0, 0, 1)">'
</span>sed -e <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">s|%%PREFIX%%|/usr/local/nginx|</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
</span>-e <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
</span>-e <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
</span>-e <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
</span>< man/nginx.<span style="color: rgba(128, 0, 128, 1)">8</span> > objs/nginx.<span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)">
make[</span><span style="color: rgba(128, 0, 128, 1)">1</span>]: Leaving directory `/usr/local/nginx/nginx-<span style="color: rgba(128, 0, 128, 1)">1.5</span>.<span style="color: rgba(128, 0, 128, 1)">9</span><span style="color: rgba(128, 0, 0, 1)">'
</span># </pre>
</div>
<h1><span style="font-family: "comic sans ms", sans-serif">安装</span></h1>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">make install (make install是把这些编译出来的可执行文件和库文件复制到合适的地方)</span></p>
<div class="cnblogs_code">
<pre># make install</pre>
</div>
<p> </p>
<h1><span style="font-family: "comic sans ms", sans-serif">启动</span></h1>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">参数 -c 指定了配置文件的路径,如果不加的话就是使用默认的配置文件</span></p>
<div class="cnblogs_code">
<pre># /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf</pre>
</div>
<p> </p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">启动命令一般在 /usr/local/nginx/sbin/ 目录下的nginx</span></p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">可以先切换到 /usr/local/nginx/sbin/ 目录下,然后执行 ./nginx 也可启动</span></p>
<h1><span style="font-family: "comic sans ms", sans-serif">重启</span></h1>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">重启命令也是在 /usr/local/nginx/sbin/ 目录下的nginx</span></p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">先切换到 /usr/local/nginx/sbin/ 目录下,然后执行 ./nginx -s reload 就可重新启动</span></p>
<h1>停止</h1>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">停止操作是通过向nginx进程发送信号来进行的</span></p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">先查询nginx的主进程号</span></p>
<div class="cnblogs_code">
<pre>ps -ef | grep nginx</pre>
</div>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">在进程列表里 面找master进程,它的编号就是主进程号了。</span></p>
<h2><span style="font-family: "comic sans ms", sans-serif">发送信号</span></h2>
<h3><span style="font-family: "comic sans ms", sans-serif">从容停止Nginx</span></h3>
<div class="cnblogs_code">
<pre>kill -QUIT 主进程号</pre>
</div>
<h3><span style="font-family: "comic sans ms", sans-serif">快速停止Nginx</span></h3>
<div class="cnblogs_code">
<pre>kill -TERM 主进程号</pre>
</div>
<h3><span style="font-family: "comic sans ms", sans-serif">强制停止Nginx</span></h3>
<div class="cnblogs_code">
<pre>pkill -9 nginx</pre>
</div>
<p> </p>
<h1><span style="font-family: "comic sans ms", sans-serif">访问</span></h1>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">在浏览器中输入IP:端口号(默认80),出现如下图所示,说明安装成功。</span></p>
<p><img src="https://img2020.cnblogs.com/blog/1937992/202007/1937992-20200710211633385-983057831.png" alt="" loading="lazy"></p>
<p> </p>
<p> </p>
<p> </p>
<h1><span style="font-family: "comic sans ms", sans-serif">搭建php环境</span></h1>
<h1><span style="font-family: "comic sans ms", sans-serif">准备目录</span></h1>
<div class="cnblogs_code">
<pre>mkdir /usr/local/php<span style="color: rgba(0, 0, 0, 1)">
cd </span>/usr/local/php/</pre>
</div>
<p> </p>
<h1><span style="font-family: "comic sans ms", sans-serif">解压</span></h1>
<div class="cnblogs_code">
<pre>tar -zxvf php-<span style="color: rgba(128, 0, 128, 1)">7.3</span>.<span style="color: rgba(128, 0, 128, 1)">2</span>.tar.gz</pre>
</div>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">解压后进入目录 php-7.3.2/</span></p>
<div class="cnblogs_code">
<pre># cd php-<span style="color: rgba(128, 0, 128, 1)">7.3</span>.<span style="color: rgba(128, 0, 128, 1)">2</span>/</pre>
</div>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">进入目录开始编译安装:</span></p>
<div class="cnblogs_code">
<pre>./configure --prefix=/usr/local/php --enable-fpm</pre>
</div>
<p> </p>
<div>
<div>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">下面是直接把常用的扩展安装好,免得后面在一个一个安装(推荐)</span></p>
<div class="cnblogs_code">
<pre>./configure --prefix=/usr/local/php --with-curl --with-mysqli --with-openssl --with-pdo-mysql --enable-fpm</pre>
</div>
<p> </p>
<h1><span style="font-family: "comic sans ms", sans-serif">编译</span></h1>
<div class="cnblogs_code">
<pre>make</pre>
</div>
<h1><span style="font-family: "comic sans ms", sans-serif">安装</span></h1>
<div class="cnblogs_code">
<pre>make install</pre>
</div>
<p> </p>
</div>
</div>
<h1><span style="font-family: "comic sans ms", sans-serif">配置</span></h1>
<div><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">php的默认安装位置已经指定为/usr/local/php,接下来配置对应的文件</span><br>
<div class="cnblogs_code">
<pre>cp /usr/local/php/php-7.3.2/php.ini-development /usr/local/php/lib/<span style="color: rgba(0, 0, 0, 1)">php.ini
cp </span>/usr/local/php/etc/php-fpm.conf.<span style="color: rgba(0, 0, 255, 1)">default</span> /usr/local/php/etc/php-<span style="color: rgba(0, 0, 0, 1)">fpm.conf
cp /usr/local/php/php-7.3.2/sapi</span>/fpm/php-fpm /usr/local/bin</pre>
</div>
<p> </p>
<br><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">首先我们应该创建web用户(这跟后面nginx.conf有很大联系)</span></div>
<div>
<div class="cnblogs_code">
<pre>groupadd daye<span style="color: rgba(0, 0, 0, 1)">
useradd </span>-g daye daye</pre>
</div>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">注意,不能是root账户,否则后面运行php-fpm就会报错</span></p>
<p> </p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">默认情况下etc/php-fpm.d/下有一个名为www.conf.defalut的配置用户的文件,执行下面命令复制一个新文件并且打开:</span></p>
<div class="cnblogs_code">
<pre>cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
vim /usr/local/php/etc/php-fpm.d/www.conf</pre>
</div>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">默认user和group的设置为nobody,将其改为daye</span></p>
<p><img src="https://img2020.cnblogs.com/blog/1937992/202007/1937992-20200710234430786-1438917532.png" alt="" loading="lazy"></p>
<p> </p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt"> </span></p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">修改完成之后,保存并退出,然后执行以下命令启动php-fpm服务:</span></p>
<div class="cnblogs_code">
<pre>/usr/local/bin/php-fpm</pre>
</div>
<p> </p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">ps:先切换到 /usr/local/bin 目录下</span></p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">然后执行 ./php-fpm</span></p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">启动完毕之后,php-fpm服务默认使用9000端口,使用 <span class="cnblogs_code">netstat -tln | grep 9000 可以查看端口使用情况:</span></span></p>
</div>
<p><img src="https://img2020.cnblogs.com/blog/1937992/202007/1937992-20200710235054375-563512299.png" alt="" loading="lazy"></p>
<p> </p>
<p> </p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">9000端口正常使用,说明php-fpm服务启动成功</span></p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">然后执行vim /usr/local/nginx/nginx.conf 编辑nginx配置文件,具体路径根据实际的nginx.conf配置文件位置编辑,下面主要修改nginx的server {}配置块中的内容,修改location块,追加index.php让nginx服务器默认支持index.php为首页:</span></p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">修改的地方主要有三处</span></p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">1.</span></p>
<p><img src="https://img2020.cnblogs.com/blog/1937992/202007/1937992-20200710235731267-1736788733.png" alt="" loading="lazy"></p>
<p> </p>
<p> </p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">2.</span></p>
<p><img src="https://img2020.cnblogs.com/blog/1937992/202007/1937992-20200710235808275-984873502.png" alt="" loading="lazy"></p>
<p> </p>
<p> </p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">3.</span></p>
<p><img src="https://img2020.cnblogs.com/blog/1937992/202007/1937992-20200710235826078-2114578479.png" alt="" loading="lazy"></p>
<p> </p>
<p> </p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">修改完这些保存并退出,然后重启nginx:</span></p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">重启命令是在 /usr/local/nginx/sbin/ 目录下的nginx</span></p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">先切换到 /usr/local/nginx/sbin/ 目录下,然后执行 ./nginx -s reload 就可重新启动</span></p>
<p> </p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">最后测试一下</span></p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">在 /usr/local/nginx/html 目录下新建一个test.php文件</span></p>
<div class="cnblogs_code">
<pre><?php <span style="color: rgba(0, 128, 128, 1)">phpinfo</span>();?></pre>
</div>
<p> </p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">访问该页面</span></p>
<p><img src="https://img2020.cnblogs.com/blog/1937992/202007/1937992-20200711000610150-1025050800.png" alt="" loading="lazy"></p>
<p> </p>
<p> </p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">说明nginx+php环境搭建成功!!!</span></p>
<p> </p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt">参考:https://www.cnblogs.com/hftian/p/9469128.html</span></p>
<p><span style="font-family: "comic sans ms", sans-serif; font-size: 14pt"> https://www.jianshu.com/p/ca3f65117217</span></p>
<p> </p><br><br>
来源:https://www.cnblogs.com/zzjdbk/p/13281907.html
頁:
[1]