CentOS 7系统下的LEMP环境搭建配置详解

最近由于项目需求,将服务器从CentOS6升级到CentOS7,对应的PHP版本也升级到PHP5.6。我们熟悉的有LEMP环境一键安装包,但是本文我们将单独安装各个组件模块,并搭建一个完整的PHP运行平台。
我们常说的LNMP环境是指Linux/nginx/MySQL/PHP组合,而LEMP是什么呢?其实Nginx的发音是Engine-X = E,LEMP包是由Linux、nginx、MariaDB/MySQL和PHP组成的,那么看来LEMP和LNMP是一样的,而现在业内习惯性的称作LEMP。MariaDB是一款社区支持驱动的MySQL数据库的分支,其功能更多性能更佳,所以我们在CentOS7下安装MariaDB。CentOS7我已经安装好了,现在只需安装Nginx,MariaDB和PHP。
1、安装Nginx
我们从nginx官方的RPM源来安装一个预构建的稳定版本的nginx包。
$ sudo rpm --import http://nginx.org/keys/nginx_signing.key
$ sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
$ sudo yum install nginx 
这样,nginx就安装上了,安装完成后,nginx不会自动启动。现在需要做的是让nginx自动启动,另外还要做些配置让其可以随着操作系统启动而启动。我们也需要在防火墙里打开TCP/80端口,以使得可以远程访问nginx的web服务。所有这些操作、设置都只需要输入如下命令就可实现。
$ sudo systemctl start nginx
$ sudo systemctl enable nginx
$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
$ sudo firewall-cmd --reload 
Nginx已经启动了,现在来测试nginx。nginx在CentOS7下的默认文档要目录是/usr/share/nginx/html。默认的 index.html 文件一定已经在这目录下了。让我们检测下是否可以访问到这个测试 web 页,输入 http://nginx的ip地址/访问。
nginx
2、安装MariaDB/MySQL
CentOS/RHEL 7使用了MariaDB替代了默认的 MySQL。作为MySQL的简单替代品,MariaDB保证了与MySQL的API和命令行用法方面最大的兼容性。下面是关于怎么在 CentOS7上安装和配置MaraDB/MySQL的操作示例。
$ sudo yum install mariadb-server
$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb 
在成功启动MariaDB/MySQL服务后,还要进行数据库的安全配置,如设置(非空)的root密码、删除匿名用户、锁定远程访问。执行如下代码:
$ sudo mysql_secure_installation
根据提示设置root密码,以及删除匿名用户等操作。
3、安装PHP
PHP是LEMP包中一个重要的组件,它负责把存储在MariaDB/MySQL服务器的数据取出生成动态内容。为了LEMP 需要,您至少需要安装上PHP-FPM和PHP-MySQL两个模块。PHP-FPM(FastCGI 进程管理器)实现的是nginx服务器和生成动态内容的PHP应用程序的访问接口。PHP-MySQL模块使PHP程序能访问 MariaDB/MySQL数据库。
首先检查当前安装的PHP包。
yum list installed | grep php
如果有安装的PHP包,先删除他们。
给yum安装添加源包。
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
运行yum install。
使用yum命令来定制PHP引擎,安装一些PHP扩展模块包。
yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64
然后安装PHP FPM。
yum install php56w-fpm
最后,启动 PHP-FPM
$ sudo systemctl start php-fpm
$ sudo systemctl enable php-fpm
4、配置LEMP,让Nginx支持PHP
首先,禁用随PHP包安装的httpd服务。
$ sudo systemctl disable httpd
接下来,配置nginx虚拟主机,使得nginx可以通过PHP-FPM来处理PHP的任务。用文本编辑器打开/etc/nginx/conf.d/default.conf,然后按如下所示修改。
server {
    listen       80;
    server_name  localhost;
    root /usr/share/nginx/html;
    index index.php index.html index.htm;
 
    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;
 
    location / {
    }
 
    #error_page  404              /404.html;
 
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
    }
 
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}
 
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

然后,配置PHP, 修改/etc/php.ini。

cgi.fix_pathinfo=1
date.timezone = PRC
最后,测试nginx是否能处理PHP页面。在测试之前,请确保重启nginx和PHP-FPM。
$ sudo systemctl restart nginx
$ sudo systemctl restart php-fpm
创建一个叫名叫test.php的文件,然后写入如下内容,并放入/usr/share/nginx/html/目录。
<?php
phpinfo();
?>
打开浏览器,输入 http://nginx的IP地址/test.php 。看到以下界面则LEMP安装完成。


 

 

时间: 2024-10-27 07:50:08

CentOS 7系统下的LEMP环境搭建配置详解的相关文章

CentOS 7.x下的LEMP环境搭建详细教程_Linux

最近由于项目需求,将服务器从CentOS6升级到CentOS7,对应的PHP版本也升级到PHP5.6.我们熟悉的有LEMP环境一键安装包,但是本文我们将单独安装各个组件模块,并搭建一个完整的PHP运行平台. 我们常说的LNMP环境是指Linux/nginx/MySQL/PHP组合,而LEMP是什么呢?其实Nginx的发音是Engine-X = E,LEMP包是由Linux.nginx.MariaDB/MySQL和PHP组成的,那么看来LEMP和LNMP是一样的,而现在业内习惯性的称作LEMP.M

MySQL主从环境搭建配置详解

=Start= 缘由: 工作需要,学习需要. 正文: MySQL的主从架构: 由一个MySQL实例作为主库,接受读写请求,另外一个或多个MySQL实例通过MySQL的复制机制,将主库的数据同步到从库,从库会设置只读,防止主从数据不一致. 主从架构的好处: 如果主服务器出现问题,可以快速切换到从服务器提供服务: 可以在从服务器上执行查询,降低主服务器的压力: 可以在从服务器上执行备份,以避免备份期间影响主服务器的性能. 主从架构的局限: 由于MySQL实现的是异步复制,所以主从服务器之间的数据存在

CentOS 7系统中hhvm Nginx环境安装配置

CentOS 7(hhvm只支持64位)下hhvm Nginx环境搭建,,到目前为止CentOS 7下还没有hhvm rpm安装包,因此采用源码编译.在安装hhvm前强力建议先利用<lnmp一键安装包>安装完整的lnmp(包括Nginx.PHP.MySQL),通过这种方式我们可以在同一台服务器对每个虚拟主机进行配置,如在同一台服务器上有www.111cn.net跑在PHP上.另一个网站blog.linuxeye.com可以选择跑在hhvm,并可以自由切换用php还是hhvm,只需要简单修改虚拟

win7 php环境搭建教程:win7下php环境搭建步骤详解

  今天绿茶小编带给大家的是win7 php环境搭建教程,php新手如果不知道如何在win7下php环境搭建方法的话,那么接下来这篇文章就可以帮到你,步骤还是很详细的哦~ 以下是一些注意事项: 一.apache选择msi格式下载,一路next,ok,修改httpd.conf进行配置; 二.配置的LoadModule php5_module路径一定要正确设置,并且注意双引号为英文字符; 三.php配置按参考修改即可,一般无大问题; 四.配置完成apache不能启动报错:the requested

(总结)CentOS Linux下VNC Server远程桌面配置详解

PS:偶以前基本不用Linux的远程图形桌面,前几天有开发的同事配置CentOS的vnc有问题,找我解决,就顺便记录总结一下,这个总结是比较完整的.下面的配置在CentOS5.x和6.x.SUSE企业版亲测验证,其他发行版按理也通用: 一.安装相应桌面环境与vnc服务端和客户端:# yum groupinstall "GNOME Desktop Environment"(CentOS 5.x安装GNOME桌面环境)# yum groupinstall "X Window Sy

Java+MyBatis+MySQL开发环境搭建流程详解_java

主要搭建过程 1. pom.xml文件中加入mybatis和数据库依赖,这里使用mysql: <properties> <mybatis.version>3.2.3</mybatis.version> <mysql.version>5.1.26</mysql.version> <slf4j.api.version>1.7.5</slf4j.api.version> <testng.version>6.8.7&l

hhvm下Nginx环境搭建步骤详解

HHVM(HipHop Virtual Machine)会将PHP代码转换成高级别的字节码(通常称为中间语言).然后在运行时通过即时(JIT)编译器将这些字节码转换为x64的机器码.在这些方面,HHVM十分类似与C#的CLR和Java的JVM. 2008年Facebook就开始使用HipHop(现在成为HPHP),这是一种PHP执行引擎:最初是为了将Fackbook的大量PHP代码转成C++,以提高性能和节约资源.最初的版本成为HPHPc,是一个PHP到C++的编译器.   之后的两年里,Fac

CentOS Linux系统下安装Redis过程和配置参数说明_Redis

安装过程: 复制代码 代码如下: wget http://code.google.com/p/redis/downloads/detail?name=redis-2.0.4.tar.gz tar xvzf redis-2.0.4.tar.gz cd  redis-2.0.4 make mkdir /home/redis cp redis-server  /home/redis cp redis-benchmark  /home/redis cp redis-cli  /home/redis cp

Windows 8云平台开发环境搭建过程详解

Windows Store应用是基于Windows 8操作系统的新一代Windows应用程序,其 开发平台以及运行模式和以往传统平台略有不同.为了帮助更多开发人员加入到 Windows Store应用开发行列,本篇将介绍如何在Windows Azure云平台搭建 Windows8应用开发环境,本篇介绍的方法适合未安装Windows8操作系统,使用Mac 或者Linux平台的开发人员参考阅读. 准备工作 在搭建环境前,大家需要在Windows Azure平台注册免费账号,注册完成后, 即可获得90