«

OpenEuler Linux 22.x安装部署LNMP实践

时间:2024-12-11 11:46     作者:Anglei     分类: Linux


  1. LNMP架构的概念
    LNMP不是指一个独立的软件,而是由四个组件组成的:L、N、M、P,主要是用于发布网站代码、提供网页信息服务、数据存储的,最终用户通过浏览器可以实现网站页面的访问。

    • L,代表的是Linux内核开发的操作系统;
    • N,代表的是Nginx WEB服务器软件;
    • M,代表的是MYSQL、Mariadb关系型数据库;
    • P,代表的是PHP、Perl、Python语言环境。
  2. LNMP架构的原理

    • 用户通过浏览器向Nginx发起Request请求,Nginx WEB接收到用户请求之后,如果检测到用户请求的静态网页,那么Nginx则直接处理,并且将数据返给用户端。
    • 如果Nginx检测到用户请求的PHP动态网页,默认Nginx WEB不能直接处理的,会基于FastCGI协议(公共网关协议)将请求转发至后端PHP-FPM程序去处理。
    • PHP-FPM程序接收到Nginx发送的动态请求之后,如果PHP网页程序要连接MYSQL数据库,则去通过PHP-MYSQL驱动去读取数据库中的数据,最终统一交给PHP-FPM程序处理,PHP-FPM程序处理完成之后会将数据发给Nginx,由Nginx再将数据发送给用户端。
  3. 静态网页和动态网页有什么区别呢?各自都有哪些特点呢?

    • 静态网页
      静态网页一般是跟后端数据库不发生交互的网页,其网页内容很少更新或者几乎不更新的,网页文件后缀命名通常是以.htm、.html、.xml等结尾的。
    • 动态网页
      动态网页一般是跟后端数据库发生交互的网页,其网页内容经常更新或者随着后端数据库内容变化而更新,网页文件后缀命名通常是以.asp、.jsp、.php等结尾的。
  4. 基于OpenEuler22.x Linux操作系统构建一套LNMP架构,采用YUM方式去部署,首先配置Nginx WEB软件服务。操作的方法和指令如下:

    #安装Nginx软件服务;
    yum install -y nginx
    #查看Nginx软件服务是否部署成功;
    rpm -qa|grep -aiE nginx
    find / -name nginx
    #查看Nginx软件服务部署的路径;
    rpm -ql nginx
    #启动Nginx服务进程;
    systemctl start nginx.service
    #查看Nginx进程状态;
    ps -ef|grep -aiE nginx
    #Firewalld防火墙对外开放80端口;
    firewall-cmd --add-port=80/tcp --permanent
    systemctl reload firewalld.service
  5. 根据如上Nginx指令操作,Nginx WEB平台构建完成,接下来部署MYSQL数据库服务,操作的方法和指令如下:

    #安装MYSQL软件服务;
    yum install -y mysql-server mysql
    #查看MYSQL软件服务是否部署成功;
    rpm -qa|grep -aiE MYSQL
    find / -name mysql
    #查看MYSQL软件服务部署的路径;
    rpm -ql mysql-server
    #启动MYSQL服务进程;
    systemctl start mysqld.service
    #查看MYSQL进程状态;
    ps -ef|grep -aiE MYSQL
    #Firewalld防火墙对外开放3306端口;
    firewall-cmd --add-port=3306/tcp --permanent
    systemctl reload firewalld.service
  6. 根据如上MYSQL指令操作,MYSQL数据库平台构建完成,接下来部署PHP-FPM软件服务,操作的方法和指令如下:

    #安装PHP-FPM软件服务;
    yum install -y php-fpm
    #查看PHP-FPM软件服务是否部署成功;
    rpm -qa|grep -aiE PHP-FPM
    find / -name php-fpm
    #查看PHP-FPM软件服务部署的路径;
    rpm -ql php-fpm
    #启动PHP-FPM服务进程;
    systemctl start php-fpm.service
    #查看PHP-FPM进程状态;
    ps -ef|grep -aiE PHP-FPM
    #Firewalld防火墙对外开放9000端口;
    firewall-cmd --add-port=9000/tcp --permanent
    systemctl reload firewalld.service
  7. 根据如上LNMP指令操作,LNMP软件服务配置完成,将Nginx和PHP-FPM整合可以实现Nginx处理静态网页,同时动态网页让PHP-FPM去处理,修改Nginx主配置文件代码内容为如下:

    worker_processes  1;
    events {
    worker_connections  1024;
    }
    http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
    }
  8. 在Nginx WEB发布目录/usr/share/nginx/html/创建info.php测试页面,写入PHP测试代码,操作的方法和指令如下:

    cat>/usr/share/nginx/html/info.php<<EOF
    <?php
    phpinfo();
    ?>
    EOF

  9. 根据如上LNMP所有指令、步骤的操作,用户通过浏览器访问Nginx服务器IP地址+/info.php页面,即可访问PHP测试页面,如图所示:

以上文章来自京峰教育吴光科老师。

本文完结,相关标签: mysql nginx PHP lnmp

 版权所有:Anglei
 文章标题:OpenEuler Linux 22.x安装部署LNMP实践
 除非注明,本站文章如未特殊说明均为 MAXADA社区知识库 原创,且版权所有,请勿用于任何商业用途。

推荐阅读:

看完后感想如何?

路过(0)

雷人(0)

握手(0)

鲜花(0)

鸡蛋(0)
分享到: