编译安装php+nginx详细步骤
<h1 id="编译安装phpnginx">编译安装php+nginx</h1><p>服务器: 阿里云centos7</p>
<h2 id="安装php">安装php</h2>
<p>下载: <code>wget https://www.php.net/distributions/php-7.3.19.tar.gz</code></p>
<p>我的下载目录: <code>/disk2/soft_pack/</code></p>
<p>解压:<code>tar -zxvf php-7.3.19.tar.gz</code></p>
<p>进入解压目录:<code>cd ./php-7.3.19/</code></p>
<p>提前先把安装依赖,避免一会儿反复编译安装</p>
<pre><code>yum -y install gcc
yum -y install libxml2-devel
yum -y install openssl-devel
yum -y install bzip2 bzip2-devel
yum -y install libpng libpng-devel
yum -y install libzip
</code></pre>
<p>开始编译php<br>
注意: 没有configure的先使用phpize命令生成</p>
<pre><code>./configure --prefix=/usr/local/php73 \
--with-config-file-path=/usr/local/php/etc/php73\
--with-curl \
--with-bz2 \
--enable-libxml \
--with-openssl \
--enable-bcmath \
--enable-pcntl \
--enable-sockets \
--enable-zip \
--enable-soap \
--with-gettext \
--with-zlib \
--enable-xml \
--enable-fpm \
--with-gd \
</code></pre>
<p>在编译时发现libzip版本过低,重新安装libzip(没有提示libzip的版本问题时可忽略)</p>
<pre><code>#先删除旧版本
yum remove -y libzip
#下载编译安装
wget https://nih.at/libzip/libzip-1.2.0.tar.gz
#解压
tar -zxvf libzip-1.2.0.tar.gz
#进入解压目录
cd libzip-1.2.0
#编译安装
./configure
make && make install
</code></pre>
<p>编译报错: /usr/local/include/zip.h:59:21: fatal error: zipconf.h: No such file or dire</p>
<pre><code>#解决
cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h
</code></pre>
<p>编译完成后安装:<br>
<code>make && make install</code></p>
<p>查看php版本<br>
<code>/usr/local/php73/bin/php -v</code><br>
或<br>
使用<code>ln -s /usr/local/php73/bin/php /usr/local/bin/php</code>后,直接使用<code>php -v</code>查看</p>
<p>成功获取版本信息,安装成功</p>
<pre><code>PHP 7.3.19 (cli) (built: Jul4 2020 17:35:16) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.19, Copyright (c) 1998-2018 Zend Technologies
</code></pre>
<p>配置php-fpm:</p>
<pre><code>#进入之前解压的安装包目录
cd /disk2/soft_pack/php-7.3.19/
#在编译包里面把php.ini-production拷贝到php安装目录
cp ./php.ini-production /usr/local/php73/php.ini
#复制启动脚本
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
#添加执行权限
chmod +x /etc/init.d/php-fpm
#添加php-fpm配置文件
cp /usr/local/php73/etc/php-fpm.conf.default /usr/local/php73/etc/php-fpm.conf
cp /usr/local/php73/etc/php-fpm.d/www.conf.default /usr/local/php73/etc/php-fpm.d/www.conf
</code></pre>
<p>查看是否安装完成:<code>ps -ef|grep php-fpm</code></p>
<p>php-fpm命令(开启/重启/停止):<br>
/etc/init.d/php-fpm start/restart/stop</p>
<p>添加开机启动<br>
<code>chkconfig --add php-fpm</code><br>
查看是否添加成功<br>
<code>chkconfig | grep php-fpm</code></p>
<p>如图:<br>
<img src="https://img2020.cnblogs.com/blog/955786/202007/955786-20200708195714569-859077150.png"></p>
<p>2,3,4,5登录为开启状态,表示添加成功,如果为关闭状态可以用<code>chkconfig php-fpm on</code>开启</p>
<h2 id="安装nginx">安装nginx</h2>
<p>下载:<code>wget http://nginx.org/download/nginx-1.18.0.tar.gz</code></p>
<p>我的下载目录:<br>
/disk2/soft_pack/</p>
<p>进入下载目录解压</p>
<pre><code>cd /disk2/soft_pack/
tar -zxvf nginx-1.18.0.tar.gz
</code></pre>
<p>进入解压目录<br>
<code>cd ./cd nginx-1.18.0</code></p>
<p>编译</p>
<pre><code>./configure --prefix=/usr/local/nginx \
--with-stream \
--with-stream_ssl_module \
--with-http_ssl_module \
--with-http_v2_module \
--with-threads
</code></pre>
<p>安装<br>
<code>make && make install</code></p>
<p>添加全局命令<br>
<code>ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx</code></p>
<p>查看nginx信息: <code>nginx -V</code></p>
<p>nginx命令:</p>
<p><code>nginx</code> 启动<br>
<code>nginx -s stop</code> 是快速关闭,不管有没有正在处理的请求。<br>
<code>nginx -s quit</code> 是一个优雅的关闭方式,Nginx在退出前完成已经接受的连接请求。<br>
<code>nginx -s reload</code> 重载配置</p>
<p>启动ngxin后通过ip访问:</p>
<p><img src="https://img2020.cnblogs.com/blog/955786/202007/955786-20200708200524079-2130620768.png"></p>
<p>nginx安装成功</p>
<p>nginx开机自启动<br>
设置自启动我们只需要创建/etc/init.d/ngxin文件,把官方提供的代码放进去修改执行程序和配置文件的目录,然后加入chkconfig管理列表,利用chkconfig命令添加自启动即可<br>
这里有官方提供的一个脚本:https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/<br>
详细步骤如下:<br>
创建并编辑文件: <code>vim /etc/init.d/nginx</code></p>
<p>将官方提供的脚本放入<code>/etc/init.d/nginx</code></p>
<p>脚本中这两项修改成自己的路径</p>
<pre><code>nginx="/usr/local/nginx/sbin/nginx" # 执行程序
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" #配置文件
</code></pre>
<p>如图:</p>
<p><img src="https://img2020.cnblogs.com/blog/955786/202007/955786-20200708200204280-1984441900.png"></p>
<p>添加执行权限<br>
<code>chmod +x /etc/init.d/nginx</code></p>
<p>添加chkconfig管理列表<br>
<code>chkconfig --add /etc/init.d/nginx</code></p>
<p>设置开启启动<br>
<code>chkconfig nginx on</code></p>
<p>查看是否设置成功<br>
<code>chkconfig | grep nginx</code>或<code>chkconfig --list</code></p>
<p>如图:<br>
<img src="https://img2020.cnblogs.com/blog/955786/202007/955786-20200708200232495-1406404367.png"></p>
<p>配置nginx识别php文件<br>
添加配置<br>
<code>vim /usr/local/nginx/conf/nginx.conf</code></p>
<pre><code> location ~ \.php$ {
root /usr/local/nginx/html; #网站目录
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
</code></pre>
<p>现在去创个php文件试试</p>
<p><code>echo "<?php phpinfo();?>">>/usr/local/nginx/html/phpinfo.php </code></p>
<p>浏览器访问<code>xxx.xxx.xxx.xxx/index.php</code>:</p>
<p><img src="https://img2020.cnblogs.com/blog/955786/202007/955786-20200708200248652-1164445158.png"></p>
<p>到这里php和nginx都安装完成了</p><br><br>
来源:https://www.cnblogs.com/trblog/p/13269013.html
頁:
[1]