本文首发于烂泥行天下 php
之前在centos下安装软件都是喜欢源码安装,不过昨天由于一个事情须要一个centos 下的LNMP环境。反倒不会搞了,今天特地记录下,以备后续使用。 html
1、安装nginx mysql
咱们先来安装nginx,以下: nginx
yum -y install nginx sql
经过上图,咱们能够看到目前的yum源中是没有nginx软件包的。咱们须要安装包含nginx的yum源,以下: 数据库
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm apache
查看刚刚安装的rpm包,以下: centos
rpm -ql nginx-release-centos-6-0.el6.ngx.noarch curl
经过上图,咱们能够很明显的看出刚刚安装的rpm包,只是新添加了一个nginx的yum源。查看该yum源,以下: ide
cat /etc/yum.repos.d/nginx.repo
或者直接修改yum仓库,添加如下内容:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
如今咱们再来经过yum来安装nginx,以下:
yum -y install nginx
经过上图,咱们能够很明显的看出nginx已经安装。
如今来查看nginx安装的位置及其文件,以下:
rpm -ql nginx
经过上图,咱们能够很明显的看出nginx默认安装到/etc/nginx目录,而nginx的默认网站安装到/usr/share/nginx/html目录下。
如今咱们来启动nginx,并访问nginx。以下:
/etc/init.d/nginx start
curl http://192.168.1.124
查看nginx运行时使用的用户,以下:
ps -ef |grep nginx
经过上图,咱们能够很明显的看出nginx是root用户启动,可是nginx运行时使用的是nginx这个用户。
2、安装php及php-fpm
安装php及php-fpm,使用以下命令:
yum -y install php php-fpm
查看php-fpm安装的位置及其文件,以下:
rpm -ql php-fpm
启动php-fpm,使用以下命令:
/etc/init.d/php-fpm start
ps -ef |grep php-fpm
netstat -tunlp |grep 1355
经过上图,咱们能够看出php-fpm运行时使用apache这个用户,并且php-fpm监听的是本机的9000端口。
若是要修改php-fpm运行时的用户及端口的话,咱们能够经过修改php-fpm配置文件/etc/php-fpm.d/www.conf,以下:
cat /etc/php-fpm.d/www.conf |grep -v '^;'|grep -v ^$
3、nginx与php集成
nginx与php集成是经过fastcgi来实现,而fastcgi咱们通常使用的是php-fpm。在第二章,咱们已经启动php-fpm,如今咱们来修改nginx配置文件使其支持php。
如今咱们修改nginx的默认网站配置文件default.conf,以下:
cat /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
root /usr/share/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;
}
}
以上配置完毕后,咱们再重启nginx和php-fpm,以下:
/etc/init.d/nginx restart
/etc/init.d/php-fpm restart
以上是修改nginx的默认网站,如今咱们新加一个nginx虚拟主机,并使其支持php,以下:
vi /etc/nginx/conf.d/ilanni.conf
server {
listen 80;
server_name test.ilanni.com;
location / {
root /ilanni;
index index.php index.html index.htm;
}
location ~ \.php$ {
root /ilanni;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
nginx虚拟主机配置文件完毕后,如今来建立虚拟主机ilanni的index.php,以下:
mkdir /ilanni
vi /ilanni/index.php
<?php phpinfo(); ?>
修改ilanni目录的所属用户,以下:
chown nginx:nginx -R /ilanni/
ll /ilanni/
如上图所示,咱们如今把ilanni这个目录修改成nginx运行时使用的用户nginx。
如今咱们再来修改php-fpm运行时的用户,以下:
vi /etc/php-fpm.d/www.conf
咱们来重启nginx与php-fpm,以下:
/etc/init.d/nginx restart
/etc/init.d/php-fpm restart
经过上图,咱们能够看到nginx的虚拟主机已经能够正确解析php。
4、安装mysql
安装MySQL,使用以下命令:
yum -y install mysql mysql-server php-mysql
安装完毕后,启动mysql。以下:
/etc/init.d/mysqld start
如今咱们在nginx默认网站建立一个mysql.php文件,用来链接mysql数据库。mysql.php内容以下:
cat /usr/share/nginx/html/mysql.php
<?php
$host='localhost';
$root='root';
$pwd='';
$con= mysql_connect($host,$root,$pwd);
if ( $con == false ) {
echo "connect false";
} else{
echo "connect true";
}
?>
重启nginx、php-fpm、mysql,以下:
/etc/init.d/nginx restart
/etc/init.d/php-fpm restart
/etc/init.d/mysqld restart
如今经过访问该mysql.php文件,以下:
http://192.168.1.124/mysql.php
经过上图,咱们能够很明显的看出php已经解析mysql.php文件,而且也已经成功的链接mysql数据库。