一、系统版本与所安装软件版本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<code>[root@www ~]# uname -a</code>
<code>Linux www.test.com.cn </code><code>2.6</code><code>.</code><code>32</code><code>-</code><code>358</code><code>.el6.x86_64 #</code><code>1</code> <code>SMP Fri Feb </code><code>22</code> <code>00</code><code>:</code><code>31</code><code>:</code><code>26</code> <code>UTC </code><code>2013</code> <code>x86_64 x86_64 x86_64 GNU/Linux</code>
<code>[root@www ~]# mkdir Downloads</code>
<code>[root@www ~]# mkdir nginx</code>
<code>[root@www Downloads]# cd nginx/</code>
<code>[root@www nginx]# pwd</code>
<code>/root/Downloads/nginx</code>
<code>[root@www nginx]# wget http:</code><code>//nginx.org/download/nginx-1.4.0.tar.gz</code>
<code>--</code><code>2013</code><code>-</code><code>09</code><code>-</code><code>03</code> <code>17</code><code>:</code><code>11</code><code>:</code><code>41</code><code>-- http:</code><code>//nginx.org/download/nginx-1.4.0.tar.gz</code>
<code>Resolving nginx.org... </code><code>206.251</code><code>.</code><code>255.63</code>
<code>Connecting to nginx.org|</code><code>206.251</code><code>.</code><code>255.63</code><code>|:</code><code>80</code><code>... connected.</code>
<code>HTTP request sent, awaiting response... </code><code>200</code> <code>OK</code>
<code>Length: </code><code>773451</code> <code>(755K) [application/octet-stream]</code>
<code>Saving to: ?.ginx-</code><code>1.4</code><code>.</code><code>0</code><code>.tar.gz?</code>
<code>[root@www php]# pwd</code>
<code>/root/Downloads/php</code>
<code>[root@www php]# wget http:</code><code>//cn2.php.net/get/php-5.4.14.tar.gz/from/this/mirror</code>
<code>--</code><code>2013</code><code>-</code><code>09</code><code>-</code><code>03</code> <code>17</code><code>:</code><code>18</code><code>:</code><code>22</code><code>-- http:</code><code>//cn2.php.net/get/php-5.4.14.tar.gz/from/this/mirror</code>
<code>Resolving cn2.php.net... </code><code>220.181</code><code>.</code><code>136.36</code><code>, </code><code>220.181</code><code>.</code><code>136.37</code>
<code>Connecting to cn2.php.net|</code><code>220.181</code><code>.</code><code>136.36</code><code>|:</code><code>80</code><code>... failed: Connection timed out.</code>
<code>Connecting to cn2.php.net|</code><code>220.181</code><code>.</code><code>136.37</code><code>|:</code><code>80</code><code>... connected.</code>
<code>HTTP request sent, awaiting response... </code><code>302</code> <code>Found</code>
<code>Location: http:</code><code>//cn2.php.net/distributions/php-5.4.14.tar.gz [following]</code>
<code>--</code><code>2013</code><code>-</code><code>09</code><code>-</code><code>03</code> <code>17</code><code>:</code><code>19</code><code>:</code><code>45</code><code>-- http:</code><code>//cn2.php.net/distributions/php-5.4.14.tar.gz</code>
<code>Length: </code><code>15773155</code> <code>(15M) [application/x-gzip]</code>
<code>Saving to: ?.hp-</code><code>5.4</code><code>.</code><code>14</code><code>.tar.gz?</code>
mysql
<code>[root@www mysql]# cd /root/Downloads/mysql/</code>
<code>[root@www mysql]# wget http:</code><code>//cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.13.tar.gz</code>
<code>--</code><code>2013</code><code>-</code><code>09</code><code>-</code><code>03</code> <code>17</code><code>:</code><code>55</code><code>:</code><code>30</code><code>-- http:</code><code>//cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.13.tar.gz</code>
<code>Resolving cdn.mysql.com... </code><code>216.156</code><code>.</code><code>211.64</code><code>, </code><code>216.156</code><code>.</code><code>211.17</code>
<code>Connecting to cdn.mysql.com|</code><code>216.156</code><code>.</code><code>211.64</code><code>|:</code><code>80</code><code>... connected.</code>
<code>Length: </code><code>35951160</code> <code>(34M) [application/x-tar-gz]</code>
<code>Saving to: ?.ysql-</code><code>5.6</code><code>.</code><code>13</code><code>.tar.gz?</code>
注:自从mysql 5.5.8之后,MySQL的源码包编译安装都要用到cmake来进行编译了,编译的过程没有本质的区别,但是要直观很多.
二、安装nginx
1、安装前提:
<code>[root@www nginx]</code><code># yum remove httpd php*</code>
<code>#移除己安装的httpd与php包</code>
<code>[root@www nginx]</code><code># yum groupinstall "Development Tools" -y</code>
<code>#安装Development Tools</code>
2、解压、编译安装nginx
<code>#到下载nginx的目录</code>
<code>[root@www nginx]# tar -zvxf nginx-</code><code>1.4</code><code>.</code><code>0</code><code>.tar.gz</code>
<code>[root@www nginx]# cd nginx-</code><code>1.4</code><code>.</code><code>0</code>
<code>[root@www nginx-</code><code>1.4</code><code>.</code><code>0</code><code>]# ./configure --prefix=/opt/nginx/</code>
3、如果在编译过程有如下提示需要安装:pcre pcre-devel包
<code>.</code><code>/configure</code><code>: error: the HTTP rewrite module requires the PCRE library.</code>
<code>You can either disable the module by using --without-http_rewrite_module</code>
<code>option, or </code><code>install</code> <code>the PCRE library into the system, or build the PCRE library</code>
<code>statically from the </code><code>source</code> <code>with nginx by using --with-pcre=<path> option.</code>
4、安装pcre包
<code>[root@www nginx-1.4.0]</code><code># yum install pcre pcre-devel -y</code>
5、重新编译安装
<code>#编译成功后</code>
<code>[root@www nginx-</code><code>1.4</code><code>.</code><code>0</code><code>]#make && make install</code>
6、启动nginx
<code>[root@www nginx-</code><code>1.4</code><code>.</code><code>0</code><code>]# cd /opt/nginx/sbin</code>
<code>[root@www sbin]# ./nginx</code>
7、测试nginx
<code>[root@www sbin]# elinks http:</code><code>//127.0.0.1</code>
<code>#如果系统中没有elinks需要安装:</code>
<code>elinks-</code><code>0.12</code><code>-</code><code>0.21</code><code>.pre5.el6_3.x86_64.rpm</code>
<code>nss_compat_ossl-</code><code>0.9</code><code>.</code><code>6</code><code>-</code><code>1</code><code>.el6.x86_64.rpm</code>
<code>[root@www sbin]#yum install elink* -y</code>
===================================到此nginx安装完毕=====================================
三、安装msyql
1、安装所需的库文件
<code>[root@www mysql]</code><code># pwd</code>
<code>/root/Downloads/mysql</code>
<code>[root@www mysql]</code><code># yum install -y gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*</code>
2、编译步骤
<code>[root@www mysql]</code><code># mkdir -p /usr/local mysql</code>
<code>[root@www mysql]</code><code># mkdir -p /data/mysql</code>
<code>[root@www mysql]</code><code># groupadd mysql</code>
<code>[root@www mysql]</code><code># useradd -g mysql mysql</code>
<code>[root@www mysql]</code><code># chown -R mysql.mysql /data/mysql</code>
3、安装cmake
<code>[root@www mysql]</code><code>#yum install -y cmake</code>
4、解压、编译mysql
<code>[root@www mysql-5.6.13]</code><code>#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306</code>
<code>[roo@www mysql-5.6.13]</code><code>#make &&make install</code>
参数说明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安装目录
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock //指定sock文件所在的目录
-DMYSQL_DATADIR=/data/mysql //数据库存放目录
-DWITH_MYISAM_STORAGE_ENGINE=1 //安装myisam存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 //安装innodb存储引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 //安装memory存储引擎
-DWITH_READLINE=1 //快捷键功能
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DEXTRA_CHARSETS=utf8,gbk //安装utf8,gbk扩展字符集
-DMYSQL_TCP_PORT=3306 //MySQL监听端口
-DMYSQL_USER=mysql //MySQL用户名
<code>[root@www mysql]# pwd</code>
<code> </code><code>/usr/local/mysql</code>
<code>[root@www mysql]# cp support-files/my-</code><code>default</code><code>.cnf /etc/my.cnf</code>
<code>[root@www mysql]#chmod </code><code>755</code> <code>scripts/mysql_install_db</code>
<code>[root@www mysql]#scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/ #初始化数据库</code>
<code>[root@www mysql]# cp support-files/mysql.server /etc/init.d/mysql #设置开机启动mysql</code>
<code>[root@www mysql]#chmod </code><code>755</code> <code>/etc/init.d/mysql</code>
<code>[root@www mysql]#chkconfig mysql on #开机启动</code>
<code>[root@www mysql]#echo </code><code>'export PATH=/usr/local/mysql/bin:$PATH'</code> <code>>> /etc/profile #将mysql的安装路径加入PATH中,方便启动mysql(重启生效)</code>
<code>[root@www mysql]#/etc/init.d/mysql start #启动mysql</code>
<code>#可以在进程中查看mysql是否启动</code>
<code>[root@www mysql]#ps aux|grep mysql</code>
<code>#完成。</code>
<code>#设置一个mysql的root密码</code>
<code>[root@www mysql]#mysqlamdin -u root password </code><code>'mysql'</code>
在这里我出现过一个问题:删除mysql 重新安装后会有一些错误。在编译完mysql后启动时会提示
注:本人是重新编译安装就没有出现此问题,有那一个大神知道具体是什么原因,请指点!
附:
具体解决方法请参照:
<a href="http://blog.rekfan.com/articles/186.html">http://blog.rekfan.com/articles/186.html</a>
<code>#kill 掉mysql的进程</code>
<code>[root@www mysql]</code><code># ps aux |grep mysql</code>
<code>root 1694 0.0 0.1 108332 1508 ? S 17:21 0:00 </code><code>/bin/sh</code> <code>/usr/local/mysql/bin/mysqld_safe</code> <code>--datadir=</code><code>/data/mysql</code> <code>--pid-</code><code>file</code><code>=</code><code>/data/mysql/www</code><code>.centostest.com.cn.pid</code>
<code>mysql 1809 0.1 44.8 1071940 454008 ? Sl 17:21 0:03 </code><code>/usr/local/mysql/bin/mysqld</code> <code>--basedir=</code><code>/usr/local/mysql</code> <code>--datadir=</code><code>/data/mysql</code> <code>--plugin-</code><code>dir</code><code>=</code><code>/usr/local/mysql/lib/plugin</code> <code>--user=mysql --log-error=</code><code>/data/mysql/www</code><code>.centostest.com.cn.err --pid-</code><code>file</code><code>=</code><code>/data/mysql/www</code><code>.centostest.com.cn.pid</code>
<code>root 2299 0.0 0.0 103248 836 pts</code><code>/0</code> <code>S+ 18:07 0:00 </code><code>grep</code> <code>mysql</code>
<code>[root@www mysql]</code><code>#kill -9 1694</code>
<code>#重新启动mysql即可</code>
<code>[root@www mysql]</code><code>#/etc/init.d/mysql start</code>
============================到此mysql安装完毕=========================================
三、安装php
1、解压
<code>[root@www php]# tar -zxvf php-</code><code>5.4</code><code>.</code><code>14</code><code>.tar.gz</code>
2、安装依赖包
<code>[root@www php]</code><code># yum install -y libxml2-devel libjpeg-devel libpng-devel freetype-devel openssl-devel libcurl-devel libmcrypt-devel</code>
3、编译
<code>[root@www php]</code><code># ls</code>
<code>php-5.4.14 php-5.4.14.</code><code>tar</code><code>.gz</code>
<code>[root@www php-5.4.14]</code><code>#./configure --prefix=/opt/php --with-config-file-path=/opt/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-magic-quotes --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 --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --with-mime-magic</code>
在此遇到configure: error: mcrypt.h not found. Please reinstall libmcrypt.问题
解决方法:
<code>[root@www php-5.4.14]</code><code># wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download</code>
<code>[root@www php-5.4.14]</code><code>#tar -zxvf libmcrypt-2.5.8.tar.gz</code>
<code>[root@www php-5.4.14]</code><code>#cd libmcrypt-2.5.8</code>
<code>root@www libmcrypt-2.5.8]</code><code>#./configure</code>
<code>root@www libmcrypt-2.5.8]</code><code>#make && make install</code>
之后再重新编译,完成
<code>[root@www libmcrypt-2.5.8]</code><code># cd ..</code>
<code>[root@www php-5.4.14]</code><code>#pwd</code>
<code>/root/Download/php/php-5</code><code>.4.14</code>
<code>[root@www php-5.4.14]</code><code># make && make install</code>
<code>#安装时间有点长。</code>
编译php出错:
1、error while loading shared libraries: libmysqlclient.so.18: cannot open shared object 网上找到的解决办法是
适用于32位系统
[root@www php-5.4.14]#ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/
64位系统应使用下面
[root@www php-5.4.14]#ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
2、 cp: cannot stat `ext/phar/phar.phar': No such file or directory
[root@www php-5.4.14]#cd ext/phar/
[root@www phar]# cp ./phar.php ./phar.phar
[root@www php-5.4.14]# make && make install
安装成功后,php的位置就应该在/opt/php目录下,接下去就是配置
<code>[root@www php-5.4.14]</code><code># cp /root/Downloads/php/php-5.4.14/php.ini-production /opt/php/etc/php.ini</code>
<code>[root@www php-5.4.14]</code><code># cp /opt/php/etc/php-fpm.conf.default /opt/php/etc/php-fpm.conf</code>
<code>[root@www php-5.4.14]</code><code># cd /opt/php/etc</code>
<code>[root@www etc]</code><code># ls</code>
<code>php-fpm.conf php-fpm.conf.default php.ini</code>
<code>[root@www etc]</code><code># cd /opt/nginx/conf</code>
<code>#然后配置nginx的配置文件,让其可以运行php</code>
<code>[root@www conf]</code><code># ls</code>
<code>fastcgi.conf koi-utf nginx.conf uwsgi_params</code>
<code>fastcgi.conf.default koi-win nginx.conf.default uwsgi_params.default</code>
<code>fastcgi_params mime.types scgi_params win-utf</code>
<code>fastcgi_params.default mime.types.default scgi_params.default</code>
<code>[root@www conf]</code><code># vim nginx.conf</code>
<code>#1、去掉 #user nobody; 的#号, 变成 user nobody;</code>
<code>#2、去掉</code>
<code>#location ~ \.php$ {</code>
<code> </code><code># root html;</code>
<code> </code><code># fastcgi_pass 127.0.0.1:9000;</code>
<code> </code><code># fastcgi_index index.php;</code>
<code> </code><code># fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;</code>
<code> </code><code># include fastcgi_params;</code>
<code> </code><code>#}</code>
<code>#之前的#号,并修改fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;为fastcgi_param SCRIPT_FILENAME /opt/nginx/html$fastcgi_script_name;最终修改后的内容为:</code>
<code>location ~ \.php$ { </code>
<code> </code><code>root html;</code>
<code> </code><code>fastcgi_pass 127.0.0.1:9000;</code>
<code> </code><code>fastcgi_index index.php;</code>
<code> </code><code>fastcgi_param SCRIPT_FILENAME </code><code>/opt/nginx/html</code><code>$fastcgi_script_name;</code>
<code> </code><code>include fastcgi_params;</code>
<code> </code><code>}</code>
4、重启nginx服务,并开启php-fpm
<code>[root@www conf]</code><code># /opt/nginx/sbin/nginx</code>
<code>[root@www conf]</code><code># /opt/php/sbin/php-fpm</code>
<code>[root@www conf]</code><code># vim /opt/nginx/html/phpinfo.php</code>
<code>#内容为</code>
<code> </code><code><?php</code>
<code> </code><code>phpinfo();</code>
<code>?></code>
<a target="_blank" href="http://blog.51cto.com/attachment/201309/113942166.png"></a>
======================到此LNMP安装成功==========================================
本文转自 jinlinger 51CTO博客,原文链接:http://blog.51cto.com/essun/1288442,如需转载请自行联系原作者