一、简介
LAMP和LNMP是两种常见的web服务器组合。具体如下:
- LAMP:LAMP代表的是Linux(操作系统)+ Apache(HTTP服务器)+ MySQL(数据库)+ PHP(编程语言)。这个组合被广泛用于建立web应用平台,特别是对于中小企业和个人开发者来说,由于其开源和免费的特性,LAMP成为了一个经济高效的选择。
- LNMP:LNMP则是将Apache替换为Nginx,即Linux + Nginx + MySQL + PHP(国外喜欢简称为LEMP)。Nginx在处理静态文件时速度快且消耗系统资源极少,性能稳定、功能丰富、运维简单。与Apache相比,Nginx在处理大量并发连接时表现更优,因此在高流量的环境下表现更好
分类
静态
- 服务器会直接返回给客户端,通过浏览器展示
- 例如:图片、html、css、js、视频
动态
- 用户请求的文件会在服务器端执行,然后服务器端会将程序的执行结果返回给客户端
- 例如:php、python、go、java....
二、配置LNMP
CGI:适用于简单的动态内容生成,但在高并发场景下效率较低。
FCGI :是对CGI的优化,通过持久连接提高了处理速度,适用于高并发的场景
安装的组件
Nginx - epel源
php-fpm -remi源
mysql - mysql-server mariadb
第一步:安装Nginx
参考:http://t.csdnimg.cn/udBxd
关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config #永久关闭
setenforce 0 #临时关闭
第二步:安装MySQL
我们的系统是Centos7.9,MySQL的名称是mariadb
yum install mariadb-server -y
启动MySQL
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# systemctl enable mariadb
[root@localhost ~]# ss -tnl
第三步:安装php和php-fpm
php:是php程序的解释器
php-fpm:是用于实现fcgi的功能,也就是让服务器开通 9000端口
安装组件
[root@localhost ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest- 7.noarch.rpm [root@localhost ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm[root@localhost ~]# yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64[root@localhost ~]# yum install php70w-fpm -y
启动php-fpm
[root@localhost yum.repos.d]# systemctl start php-fpm [root@localhost yum.repos.d]# systemctl enable php-fpm [root@localhost yum.repos.d]# ss -tnl LISTEN 0 128 127.0.0.1:9000
第四步:整合Nginx和PHP
修改Nginx的配置文件,将客户端的对于php的请求转发到php-fpm
vim /usr/local/nginx/conf/nginx.conf修改个内容
第五步:重启服务
/usr/local/nginx/sbin/nginx -s reload
第六步:创建测试页面
echo "<?php phpinfo(); ?>" >/usr/local/nginx/html/a.php
第七步:访问测试
在浏览器中输入IP:192.168.1.1/a.php
三、扩展:安装各版本PHP
Centos下如何Yum安装php5.5、php5.6、php7.0等版本http://www.ithov.net/linux/2741.检查当前安装的PHP包
yum list installed | grep php
如果有安装的PHP包,先删除他们yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 phpldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_642、设置yum源
Webtatic EL7 for CentOS/RHEL 7:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmWebtatic EL6 for CentOS/RHEL 6:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpmWebtatic EL5.1 for CentOS/RHEL 5:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm
rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm如果想删除上面安装的包,重新安装
rpm -qa | grep webstatic
rpm -e 上面搜索到的包即可3.运行yum install安装支持包php5.5的版本
yum install php55w.x86_64 php55w-cli.x86_64 php55w-common.x86_64 php55w-gd.x86_64
php55w-ldap.x86_64 php55w-mbstring.x86_64 php55w-mcrypt.x86_64 php55w-mysql.x86_64
php55w-pdo.x86_64php5.6的版本
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_64php7.0的版本
yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64
php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64
php70w-pdo.x86_644.安装PHP FPM
php5.5的版本:yum install php55w-fpm php55w-opcache
php5.6的版本:yum install php56w-fpm
php7.0的版本:yum install php70w-fpm
部署LAMP
和LNMP步骤一样
主要是修改Apache的配置文件
/etc/httpd/conf/httpd.conf
- 修改Apache配置:编辑Apache的配置文件,通常是/etc/httpd/conf/httpd.conf或/etc/apache2/apache2.conf,具体位置可能因Linux发行版而异。
- 添加PHP模块:在Apache配置文件中,您需要加载PHP模块。这通常涉及到添加类似LoadModule php7_module modules/libphp7.so的指令。
- 指定处理PHP文件的指令:为了让Apache正确处理PHP文件,需要在配置文件中添加指令,如AddType application/x-httpd-php .php,以及确保DirectoryIndex包含index.php。
- 保存并退出编辑器
- 重启Apache服务
- 写一个测试PHP,然后浏览器访问