首頁 php教程 php手册 Linux下php+mysql+nginx编译搭建(一)

Linux下php+mysql+nginx编译搭建(一)

Jun 06, 2016 pm 07:58 PM
linux 搭建 編譯

之前一直都是一键搭建的web服务器,但是一键搭建的环境相对来说都是比较老的。如果要用比较新的环境,特别是正式服务器,就必须自己手动编译搭建了(以下搭建基于linux centos6.5 32位服务器)。 1、 nginx 版本:1.5 下载地址: http://nginx.org/download/

之前一直都是一键搭建的web服务器,但是一键搭建的环境相对来说都是比较老的。如果要用比较新的环境,特别是正式服务器,就必须自己手动编译搭建了(以下搭建基于linux centos6.5 32位服务器)。

1、 nginx
版本:1.5
下载地址: http://nginx.org/download/nginx-1.5.2.tar.gz

2、 mysql
版本5.5
下载地址:http://downloads.mysql.com/archives/mysql-5.0/mysql-5.5.30.tar.gz

3、 php
版本5.4
下载地址:http://am1.php.net/get/php-5.4.34.tar.gz/from/this/mirror

一:安装nginx
安装一些依赖包:

<ol><li>
<span>yum </span><span>-</span><span>y install gcc gcc</span><span>-</span><span>c</span><span>++</span><span> gcc</span><span>-</span><span>devel gcc</span><span>-</span><span>c</span><span>++-</span><span>devel ssl ssl</span><span>-</span><span>devel autoconf make aclocal libtool expat</span><span>-</span><span>devel libxml2</span><span>-</span><span>devel openssl openssl</span><span>-</span><span>devel zlib zlib</span><span>-</span><span>devel bzip2 bzip2</span><span>-</span><span>devel gd gd</span><span>-</span><span>devel libmcrypt libmcrypt</span><span>-</span><span>devel libXpm</span><span>-</span><span>devel  curl</span><span>-</span><span>devel libgd</span><span>-</span><span>devel gd</span><span>-</span><span>devel openldap</span><span>-</span><span>devel</span>
</li></ol>
登入後複製

进入一个目录:

<ol><li>
<span>cd </span><span>/</span><span>opt</span><span>/</span>
</li></ol>
登入後複製

下载并解压:

<ol>
<li>
<span>wget http</span><span>:</span><span>//nginx.org/download/nginx-1.5.2.tar.gz</span>
</li>
<li>
<span>tar </span><span>-</span><span>zxf nginx</span><span>-</span><span>1.5</span><span>.</span><span>2.tar</span><span>.</span><span>gz</span>
</li>
<li>
<span>wget http</span><span>:</span><span>//labs.frickle.com/files/ngx_cache_purge-2.1.tar.gz</span>
</li>
<li>
<span>tar </span><span>-</span><span>zxf ngx_cache_purge</span><span>-</span><span>2.1</span><span>.</span><span>tar</span><span>.</span><span>gz</span>
</li>
</ol>
登入後複製

进入目录并编译:

<ol>
<li>
<span>cd nginx</span><span>-</span><span>1.5</span><span>.</span><span>2</span>
</li>
<li>
<span>./</span><span>configure </span><span>--</span><span>prefix</span><span>=</span><span>/usr/</span><span>local</span><span>/</span><span>nginx </span><span>--</span><span>sbin</span><span>-</span><span>path</span><span>=</span><span>/usr/</span><span>local</span><span>/</span><span>nginx</span><span>/</span><span>sbin</span><span>/</span><span>nginx </span><span>--</span><span>conf</span><span>-</span><span>path</span><span>=</span><span>/usr/</span><span>local</span><span>/</span><span>nginx</span><span>/</span><span>conf</span><span>/</span><span>nginx</span><span>.</span><span>conf </span><span>--</span><span>error</span><span>-</span><span>log</span><span>-</span><span>path</span><span>=</span><span>/usr/</span><span>local</span><span>/</span><span>nginx</span><span>/</span><span>log</span><span>/</span><span>error</span><span>.</span><span>log </span><span>--</span><span>http</span><span>-</span><span>log</span><span>-</span><span>path</span><span>=</span><span>/usr/</span><span>local</span><span>/</span><span>nginx</span><span>/</span><span>log</span><span>/</span><span>access</span><span>.</span><span>log </span><span>--</span><span>pid</span><span>-</span><span>path</span><span>=</span><span>/usr/</span><span>local</span><span>/</span><span>nginx</span><span>/</span><span>run</span><span>/</span><span>nginx</span><span>.</span><span>pid    </span><span>--</span><span>user</span><span>=</span><span>www </span><span>--</span><span>group</span><span>=</span><span>www </span><span>--</span><span>with</span><span>-</span><span>http_ssl_module </span><span>--</span><span>with</span><span>-</span><span>http_flv_module </span><span>--</span><span>with</span><span>-</span><span>http_stub_status_module </span><span>--</span><span>with</span><span>-</span><span>http_gzip_static_module </span><span>--</span><span>http</span><span>-</span><span>client</span><span>-</span><span>body</span><span>-</span><span>temp</span><span>-</span><span>path</span><span>=</span><span>/usr/</span><span>local</span><span>/</span><span>nginx</span><span>/</span><span>tmp</span><span>/</span><span>client </span><span>--</span><span>http</span><span>-</span><span>proxy</span><span>-</span><span>temp</span><span>-</span><span>path</span><span>=</span><span>/usr/</span><span>local</span><span>/</span><span>nginx</span><span>/</span><span>tmp</span><span>/</span><span>proxy</span><span>/</span><span>--</span><span>http</span><span>-</span><span>fastcgi</span><span>-</span><span>temp</span><span>-</span><span>path</span><span>=</span><span>/usr/</span><span>local</span><span>/</span><span>nginx</span><span>/</span><span>tmp</span><span>/</span><span>fcgi</span><span>/</span><span>--</span><span>add</span><span>-</span><span>module</span><span>=../</span><span>ngx_cache_purge</span><span>-</span><span>2.1</span><span>--</span><span>with</span><span>-</span><span>pcre</span><span>=../</span><span>pcre</span><span>-</span><span>8.34</span>
</li>
<li>
<span>make  </span><span>&amp;&amp;</span><span> make install</span>
</li>
</ol>
登入後複製

这样就完成了nginx的搭建。
运行:/usr/local/nginx/sbin/nginx
报错:nginx: [emerg] getpwnam("www") failed
在nginx.conf中 把user nobody的注释去掉既可,改成www
再次运行:/usr/local/nginx/sbin/nginx
报错:nginx: [emerg] getpwnam("www") failed in /usr/local/nginx/conf/nginx.conf:1
错误的原因是没有创建www这个用户,应该在服务器系统中添加www用户组和用户www,如下命令:

<ol>
<li>
<span>groupadd </span><span>-</span><span>f www</span>
</li>
<li>
<span>useradd </span><span>-</span><span>g www www</span>
</li>
</ol>
登入後複製

第三次运行:/usr/local/nginx/sbin/nginx
报错:nginx: [emerg] mkdir() "/usr/local/nginx/tmp/client" failed (2: No such file or directory)
执行:mkdir -p /usr/local/nginx/tmp/client
然后localhost访问就可以看到:

Linux下php+mysql+nginx编译搭建(一)

习惯了了/etc/init.d/nginx start?觉得/usr/local/nginx/sbin/nginx 太长?
Vim /etc/init.d/nginx

<ol>
<li><span>#!/bin/bash</span></li>
<li><span>#</span></li>
<li><span># Init file for nginx server daemon</span></li>
<li><span>#</span></li>
<li><span># chkconfig: 234 99 99</span></li>
<li><span># description: nginx server daemon</span></li>
<li><span>#</span></li>
<li><span># source function library</span></li>
<li>
<span>.</span><span>/</span><span>etc</span><span>/</span><span>rc</span><span>.</span><span>d</span><span>/</span><span>init</span><span>.</span><span>d</span><span>/</span><span>functions</span>
</li>
<li><span># pull in sysconfig settings</span></li>
<li>
<span>[</span><span>-</span><span>f </span><span>/</span><span>etc</span><span>/</span><span>sysconfig</span><span>/</span><span>nginx </span><span>]</span><span>&amp;&amp;</span><span>.</span><span>/</span><span>etc</span><span>/</span><span>sysconfig</span><span>/</span><span>nginx</span>
</li>
<li>
<span>RETVAL</span><span>=</span><span>0</span>
</li>
<li>
<span>prog</span><span>=</span><span>"nginx"</span>
</li>
<li>
<span>PAT</span><span>=</span><span>/usr/</span><span>local</span><span>/</span><span>nginx</span>
</li>
<li>
<span>NGINXD</span><span>=</span><span>/usr/</span><span>local</span><span>/</span><span>nginx</span><span>/</span><span>sbin</span><span>/</span><span>nginx</span>
</li>
<li>
<span>PID_FILE</span><span>=</span><span>/usr/</span><span>local</span><span>/</span><span>nginx</span><span>/</span><span>nginx</span><span>.</span><span>pid</span>
</li>
<li>
<span>start</span><span>()</span>
</li>
<li><span>{</span></li>
<li>
<span>echo </span><span>-</span><span>n $</span><span>"Starting $prog: "</span>
</li>
<li>
<span>$NGINXD </span><span>2</span><span>&gt;</span><span>/dev/</span><span>null</span><span> $OPTIONS </span><span>&amp;&amp;</span><span> success </span><span>||</span><span> failure</span>
</li>
<li>
<span>RETVAL</span><span>=</span><span>$</span><span>?</span>
</li>
<li>
<span>[</span><span>"$RETVAL"</span><span>=</span><span>0</span><span>]</span><span>&amp;&amp;</span><span> touch </span><span>/</span><span>var</span><span>/</span><span>lock</span><span>/</span><span>subsys</span><span>/</span><span>nginx</span>
</li>
<li><span>echo</span></li>
<li><span>}</span></li>
<li>
<span>stop</span><span>()</span>
</li>
<li><span>{</span></li>
<li>
<span>echo </span><span>-</span><span>n $</span><span>"Shutting down $prog: "</span>
</li>
<li><span>killproc nginx</span></li>
<li>
<span>RETVAL</span><span>=</span><span>$</span><span>?</span>
</li>
<li><span>echo</span></li>
<li>
<span>[</span><span> $RETVAL </span><span>-</span><span>eq </span><span>0</span><span>]</span><span>&amp;&amp;</span><span> rm </span><span>-</span><span>f </span><span>/</span><span>var</span><span>/</span><span>lock</span><span>/</span><span>subsys</span><span>/</span><span>nginx</span>
</li>
<li>
<span>return</span><span> $RETVAL</span>
</li>
<li><span>}</span></li>
<li>
<span>reload</span><span>()</span>
</li>
<li><span>{</span></li>
<li>
<span>echo </span><span>-</span><span>n $</span><span>"Reloading nginx: "</span>
</li>
<li>
<span>killproc nginx </span><span>-</span><span>HUP</span>
</li>
<li>
<span>RETVAL</span><span>=</span><span>$</span><span>?</span>
</li>
<li><span>echo</span></li>
<li>
<span>return</span><span> $RETVAL</span>
</li>
<li><span>}</span></li>
<li>
<span>case</span><span>"$1"</span><span>in</span>
</li>
<li>
<span>"start"</span><span>)</span>
</li>
<li><span>start</span></li>
<li><span>;;</span></li>
<li>
<span>"stop"</span><span>)</span>
</li>
<li><span>stop</span></li>
<li><span>;;</span></li>
<li>
<span>"restart"</span><span>)</span>
</li>
<li><span>stop</span></li>
<li><span>start</span></li>
<li><span>;;</span></li>
<li>
<span>"reload"</span><span>)</span>
</li>
<li><span>reload</span></li>
<li><span>;;</span></li>
<li>
<span>"status"</span><span>)</span>
</li>
<li>
<span>status </span><span>-</span><span>p $PID_FILE nginx</span>
</li>
<li>
<span>RETVAL</span><span>=</span><span>$</span><span>?</span>
</li>
<li><span>;;</span></li>
<li><span>*)</span></li>
<li><span> </span></li>
<li>
<span>echo $</span><span>"Usage: $0 {start|stop|restart|reload|status}"</span>
</li>
<li>
<span>RETVAL</span><span>=</span><span>1</span>
</li>
<li><span>esac</span></li>
<li>
<span>exit</span><span> $RETVAL</span>
</li>
</ol>
登入後複製

保存,添加x权限。
如需开机启动:
chkconfig nginx on


更多请支持:http://www.webyang.net/Html/web/article_127.html

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Android TV Box 獲得非官方 Ubuntu 24.04 升級 Android TV Box 獲得非官方 Ubuntu 24.04 升級 Sep 05, 2024 am 06:33 AM

Android TV Box 獲得非官方 Ubuntu 24.04 升級

deepseek網頁版入口 deepseek官網入口 deepseek網頁版入口 deepseek官網入口 Feb 19, 2025 pm 04:54 PM

deepseek網頁版入口 deepseek官網入口

deepseek怎麼安裝 deepseek怎麼安裝 Feb 19, 2025 pm 05:48 PM

deepseek怎麼安裝

BitPie比特派錢包app下載位址 BitPie比特派錢包app下載位址 Sep 10, 2024 pm 12:10 PM

BitPie比特派錢包app下載位址

BITGet官方網站安裝(2025新手指南) BITGet官方網站安裝(2025新手指南) Feb 21, 2025 pm 08:42 PM

BITGet官方網站安裝(2025新手指南)

詳解:Shell腳本變數判斷參數指令 詳解:Shell腳本變數判斷參數指令 Sep 02, 2024 pm 03:25 PM

詳解:Shell腳本變數判斷參數指令

Zabbix 3.4 原始碼編譯安裝 Zabbix 3.4 原始碼編譯安裝 Sep 04, 2024 am 07:32 AM

Zabbix 3.4 原始碼編譯安裝

歐易okx安裝包直接進 歐易okx安裝包直接進 Feb 21, 2025 pm 08:00 PM

歐易okx安裝包直接進

See all articles