LNMP安装详细配置
环境:
虚拟机: virtualbox
主机: redhat 5.4
测试机: windows 7
源码安装步骤:
1.安装开发库
在安装源码之前,需要安装一些库文件,它们是一些开发工具,为的是能够对源码进行编译及安装,出于方便的原因,我们可以安装以下三个开发库组:
X 软件开发(X Software Development) 开发库(Development Libraries)
开发工具(Development Tools)
有些库是默认安装过的,我们只需要安装机器上没有安装的就行了,可以如下查看没有安装的库组 (前提是yum源配置成功)
[root@localhost yum.repos.d]# yum grouplist
Available Groups:下面的库组是没有安装的,根据要求安装即可安装方法如下
[root@localhost yum.repos.d]# yum groupinstall "X 软件开发" "开发库"
我的是中文显示的,并且要安装两个库组。
2.安装mysql
1>解压mysql文件
mysql软件包:mysql-5.5.15-linux2.6-i686.tar.gz
解压文件
[root@localhost Desktop]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local
进入文件夹,改名为mysql
[root@localhost Desktop]# cd /usr/local/
[root@localhost local]# mv mysql-5.5.15-linux2.6-i686 mysql
2 >mysql配置
进入mysql文件夹,开始配置
注:其实mysql开发者为了方便我们对mysql配置的掌控,已经把配置的步骤给详细的写了出来,我们可以参照他们的配置步骤来进行配置,文件名为:INSTALL-BINARY,可以打开这个文件来参照着配置
[root@localhost mysql]# groupadd mysql
[root@localhost mysql]# useradd -r -g mysql mysql
[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .
[root@localhost mysql]# scripts/mysql_install_db --user=mysql // 初始化数据库
[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql data //让data目录属于用户mysql
[root@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf //配置文件放在/etc/目录下
[root@localhost mysql]# bin/mysqld_safe --user=mysql & 运行mysql数据库
[1] 3200
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld 把mysql的启动脚本放在启动目录下并改名为;mysqld,这样我们就可以使用命令:service mysqld start|stop|restart来启动mysql数据库了。
如:[root@localhost ~]# service mysqld restart
Shutting down MySQL. [确定]
Starting MySQL... [确定]
3>进入数据库
由于是源码安装的mysql,所以现在并不能直接使用命令:mysql来进入mysql数据库,它的启动文件在/usr/local/mysql/bin目录下即文件:mysql
进入mysql (前提是已经在mysql目录下)
[root@localhost mysql]# bin/mysql
这样就可以进入mysql了,但是这种方法很麻烦,每次启动mysql时还要找到这个文件,所以我们可以进行一定的优化,把mysql的启动脚本加入到环境变量中,让我们直接可以使用命令:mysql来进入数据库
[root@localhost bin]# vim /etc/profile
添加如下内容:
PATH=$PATH:/usr/local/mysql/bin //在最后添加的mysql的环境变量
[root@localhost bin]# source /etc/profile //使环境变量生效
[root@localhost bin]# mysql //进入mysql
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
4> 设置mysql开机启动
[root@localhost ~]# chkconfig --add mysqld //增加mysqld开机启动
[root@localhost ~]# chkconfig --list | grep mysqld //查看启动项
mysqld 0:关闭
1:关闭
2:启用
3:启用
4:启用
5:启用
6:关闭
现在虽然已经能够开机启动,但是却不能够加载mysql的库文件和头文件
下面对其进行设置
[root@localhost include]# cd /etc/ld.so.conf.d/ //进入开机启动库文件
[root@localhost ld.so.conf.d]# vim mysql.conf //自定义一个文件名,后缀必须为: .conf
在文件中增加代码:
/usr/local/mysql/lib
应用lib文件
[root@localhost ld.so.conf.d]# ldconfig -v
检查是否加载成功
[root@localhost ld.so.conf.d]# ldconfig -v |grep mysql
/usr/local/mysql/lib:
libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0
添加开机使用的头路径
[root@localhost ld.so.conf.d]# cd /usr/local/include/ //进入头文件存放目录
[root@localhost include]# ln -s /usr/include/local/mysql/include mysql //为mysql的头文件做一个到头文件存放目录的路径,名字为mysql
3安装nginx
1> 安装依赖文件pcre pcre-devel
[root@localhost include]# yum install pcre pcre-devel
2> 下载文件:libevent-2.0.16-stable.tar.gz
解压进行安装
[root@localhost ~]# tar -zxvf '/root/Desktop/libevent-2.0.16-stable.tar.gz' -C /usr/local/src/
[root@localhost Desktop]# cd /usr/local/src/
[root@localhost src]# ll
总计 4
drwxr-xr-x 8 code code 4096 2011-11-19 libevent-2.0.16-stable
[root@localhost src]# cd libevent-2.0.16-stable/
[root@localhost libevent-2.0.16-stable]# ./configure
[root@localhost libevent-2.0.16-stable]# make
[root@localhost libevent-2.0.16-stable]# make install
3> 下载nginx-1.0.11.tar.gz
解压安装
[root@localhost ~]# tar -zxvf '/root/Desktop/nginx-1.0.11.tar.gz' -C /usr/local/src/
[root@localhost libevent-2.0.16-stable]# cd /usr/local/src
[root@localhost src]# ll
总计 8
drwxr-xr-x 10 code code 4096 11-08 23:14 libevent-2.0.16-stable
drwxr-xr-x 8 1001 1001 4096 2011-12-15 nginx-1.0.11
[root@localhost src]# cd nginx-1.0.11/
[root@localhost nginx-1.0.11]# ./configure \
> --prefix=/usr \
> --sbin-path=/usr/sbin/nginx \
> --conf-path=/etc/nginx/nginx.conf \
> --error-log-path=/var/log/nginx/error.log \
> --http-log-path=/var/log/nginx/access.log \
> --pid-path=/var/run/nginx/nginx.pid \
> --lock-path=/var/lock/nginx.lock \
> --user=nginx \
> --group=nginx \
> --with-http_ssl_module \
> --with-http_flv_module \
> --with-http_stub_status_module \
> --with-http_gzip_static_module \
> --http-client-body-temp-path=/var/tmp/nginx/client/ \
> --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
> --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
> --with-pcre
[root@localhost nginx-1.0.11]# make
[root@localhost nginx-1.0.11]# make install
安装成功后要为nginx创建用户及组
[root@localhost nginx-1.0.11]# groupadd nginx
[root@localhost nginx-1.0.11]# useradd -g nginx -s /sbin/nologin -M nginx
4> nginx的启动与别的服务有些不同,它可以直接使用nginx就可以启动此服务
[root@localhost nginx-1.0.11]# nginx
nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: No such file or directory)
如果出现了上面的错误,则是少client目录
[root@localhost nginx-1.0.11]# mkdir -p /var/tmp/nginx/client
重新启动nginx
[root@localhost nginx-1.0.11]# nginx
查看是否启动
[root@localhost nginx-1.0.11]# netstat -tupln | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1147/nginx: master
5> 测试nginx是否成功(前提要关闭linux防火墙)
3. PHP源码安装
1> 解压并安装
[root@localhost ~]# tar -jxvf '/root/Desktop/php-5.3.7.tar.bz2' -C /usr/local/src/
[root@localhost html]# cd /usr/local/src
[root@localhost src]# ll
总计 12
drwxr-xr-x 10 code code 4096 11-08 23:14 libevent-2.0.16-stable
drwxr-xr-x 9 1001 1001 4096 11-08 23:25 nginx-1.0.11
drwxr-xr-x 13 1000 1000 4096 2011-08-17 php-5.3.7
[root@localhost src]# cd php-5.3.7/
安装
[root@localhost php-5.3.7]# ./configure \
> --prefix=/usr/local/php \
> --with-mysql=/usr/local/mysql/ \
> --with-zlib --enable-xml --disable-rpath \
> --enable-bcmath --with-gd \
> --enable-shmop --enable-sysvsem \
> --with-curl --with-curlwrappers --enable-fpm \
> --with-ldap --with-ldap-sasl --with-xmlrpc-enable-zip --enable-soap
[root@localhost php-5.3.7]# make
[root@localhost php-5.3.7]# make install
2> 创建php配置文件,可以通过复制模板来得到
[root@localhost php-5.3.7]# cp -p php.ini-development /usr/local/php/php.ini
得到主配置文件
[root@localhost php-5.3.7]# cd /usr/local/php
[root@localhost php]# cp -p etc/php-fpm.conf.default etc/php-fpm.conf
[root@localhost php]# vim etc/php-fpm.conf
添加如下
添加如下目录
[root@localhost php]# mkdir /var/run/php-fpm
启动:php-fpm
[root@localhost php]# /usr/local/php/sbin/php-fpm
[09-Nov-2012 00:32:06] ALERT: [pool www] pm.min_spare_servers(0) must be a positive value
[09-Nov-2012 00:32:06] ERROR: failed to post process the configuration
如果出现上面 的错误,则修改如下(将下面的三个前面的;分号去掉)
[root@localhost php]# vim etc/php-fpm.conf
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
3> 修改nginx的配置文件/etc/nginx/nginx.conf
[root@localhost php]# vim /etc/nginx/nginx.conf
修改如下
location / {
root html;
index index.php index.html index.htm;
}
location ~ \.php$ {
root html;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/html$fastcgi_script_name; //注意网站存放路径。即:/usr/html
include fastcgi_params;
}
4> 测试关联成功
[root@localhost php]# cd /usr/html
[root@localhost html]# ll
总计 8
-rw-r--r-- 1 root root 383 11-08 23:26 50x.html
-rw-r--r-- 1 root root 151 11-08 23:26 index.html
[root@localhost html]# vim index.php
添加如下内容
<?php
phpinfo();
?>
5> 测试数据库连接成功
修改index.php内容如下
$link=mysql_connect("localhost","root","");
if($link)
echo "success";
else
echo "false";
?>
测试成功
本文转自 guodong810 51CTO博客,原文链接:http://blog.51cto.com/guodong810/1055632,如需转载请自行联系原作者