LNMP架构

1. 什么是LNMP架构

  • L Linux 系统
  • N nginx网站服务 接收用户的访问,并进行处理(静态请求)
  • P PHP网站服务 接收用户的访问,并进行处理(动态请求)
  • M MySQL 数据库服务

2.安装部署LNMP

1.安装过程

  • Linux系统安装(关闭防火墙 selinux关闭 /tmp目录权限1777)
  • Nginx服务安装(yum 官方源安装)
  • MySQL数据库服务安装
    1) 利用yum进行安装
    2)利用编译安装软件
    3)利用二进制包安装
## 下载安装数据库
yum install mariadb-server -y 
## 开机自启
systemctl start  mariadb.service
systemctl enable mariadb.service
## 设置密码
mysqladmin password 123456
mysql -uroot -p123456
  • PHP 部署安装
    1)解决PHP软件冲突
yum remove php-mysql php php-fpm php-common

2)更新yum源信息,用户安装php程序

    # 准备yum安装软件扩展源信息
    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

3)直接安装php服务相关软件

yum install -y php71w php71w-cli php71w-common php71w-devel php71w-embedded  php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache  php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb

    php71w         --- 主程序软件
    php71w-gd      --- 和显示图形相关的软件
    php71w-mcrypt  --- 和数据传输加密相关
    php71w-pdo     --- 让php和数据库建立联系
    php71w-fpm     --- ???
  • 重要文件和目录信息
    /etc/php-fpm.conf    ---php-fpm进程的配置文件
    /etc/php-fpm.d       ---php-fpm进程加载配置文件的目录
    /etc/php-fpm.d/www.conf
  • 启动PHP
 systemctl start php-fpm
 systemctl enable php-fpm

2.LNMP配置过程

LNMP工作原理:

当nginx将CGI请求发送给这socket的时候,通过FastCGI接口,wrapper接收到请求,然后派生出一个新线程,这个线程调用PHP解释器或外部程序处理脚本,读取,返回数据;接着,wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给nginx;最后,nginx将返回数据发送给客户端


image.png
  • Nginx服务+PHP 建立关系(fastcgi)
  • PHP+MySQL 建立关系(PHP代码控制连接数据库)


    image.png

编写Nginx配置文件

  [root@web02 conf.d]# vim www.conf
    server {
          listen   80;
          server_name   www.laoli.com;
          location / {
                root   /html/www;
                index  index.php index.html;
          } 
          location ~ \.php$ {
                root   /html/www;
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index index.php; 
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
    
          }
    }
  
      location ~ \.php$ {
            root   /html/www;
            fastcgi_pass  127.0.0.1:9000;    --- 9000代表就是php服务程序    
            fastcgi_index index.php;   --- 指定动态请求的默认首页文件 oldboy.php
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
                                     
            factcgi_param指令说明: 
            主要作用是将静态服务获取到的动态请求信息 进行整合 ---
            将动态请求告知给PHP程序                                   
            include fastcgi_params;    --- 加载fastcgi配置文件,可以识别变量信息

编写PHP 代码

[root@oldboy www]# cat index.php 
    <?php
      phpinfo();
    ?>
搭建网站: 动态资源更好
访问网站: 静态资源更好(便于搜索引擎收录)
---> 实现伪静态(实质还是动态资源  显示uri信息是静态的信息)

PHP + MySQL建立关系

    准备工作:
    [root@oldboy www]# pwd
    /html/www
    编写代码文件
    [root@oldboy www]# vim test_mysql_con.php
    <?php
        $servername = "localhost";
        $username = "root";
        $password = "123456";
        //$link_id=mysql_connect('主机名','用户','密码');
        //mysql -u用户 -p密码 -h 主机
        $conn = mysqli_connect($servername, $username, $password);
        if ($conn) {
              echo "mysql successful connect !\n";
           }else{
              die("Connection failed: " . mysqli_connect_error());
               }
    ?>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容