LNMP架构的项目实战

day24 LNMP架构的项目实战

一、LNMP架构模型的介绍

1.什么是架构模型

实现一套项目,所需要使用到的中间件环境

2.常见的架构模型

LNMP:Linux Nginx Mysql PHP。用于部署和应用php项目

LNMT:Tomcat。用于部署和应用Java项目

LAMP:Apache。

LAMT

3.LNMP架构中间件交互流程

php:*.php
java:*.jsp
.net:*.asp
Python:*.py

6f7cf3ad591fbff482ac82b845f1bd56

Nginx和PHP交互流程

  1. Nginx通过location匹配php后缀的url

  2. 通过fastcgi接口解析将请求发送给php

  3. php-fpm派生php工作进程

  4. 工作进程通过warrap组件派生工作线程请求php解析器

  5. php解析器将Nginx给过来的文件进行语言解析,解析成html资源返回给Nginx

  6. 如果代码中涉及到请求数据库的语句,则需要通过php-mysqlnd插件和数据库交互

二、LNMP架构环境的搭建

1.PHP的介绍

PHP:超文本预处理器。擅长编写前后端交互的过程

  • JAVA:实现功能
  • 前后端交互:php写交互
# php的版本
php5 php5.5 php5.6
php7 php7.1 7.2 7.3 7.4
php8 php8.1 8.2 8.3

2.准备php环境

1.PHP的安装
yum安装
#配置php源
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y

#安装
yum install php72-php-fpm php72-php-gd php72-php-json php72-php-mbstring php72-php-mysqlnd php72-php-xml php72-php-xmlrpc php72-php-opcache php72-php-pecl-redis -y

编译安装
2.php的配置
rpm -qc php72-php-fpm
/etc/opt/remi/php72/php-fpm.conf			#php的主配置文件
/etc/opt/remi/php72/php-fpm.d/www.conf		#php的项目配置文件

vim /etc/opt/remi/php72/php-fpm.d/www.conf
24 user = nginx
26 group = nginx
38 listen = 127.0.0.1:9000

3.启动php

systemctl start php72-php-fpm.service

4.配置Nginx和php交互

vim /usr/local/nginx/conf/conf.d/php.conf

server {
   listen 80;
   server_name php.dms.com;
   root /html/php;
   index index.html index.php;

   location ~ \.php$ {
     fastcgi_pass 127.0.0.1:9000;	# php监听地址
     fastcgi_index index.php;		# php默认首页
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#$document_root  		#代码的路径     
#$fastcgi_script_name  	#请求的url的后缀路径     
     include fastcgi_params;
   }
}

#准备测试代码
mkdir /html/php
echo '<?php phpinfo(); ?>' >/html/php/index.php

#重启nginx
/bin/nginx -s reload

三、准备MySQL环境

1.安装mysql

yum install mariadb-server -y

2.启动mariadb

systemctl start mariadb

3.设置密码

mysqladmin password 123
#测试登录
mysql -uroot -p123

4.编辑测试数据库源码

vim /html/php/test-db.php

<?php
         $conn=mysqli_connect('127.0.0.1','root','123'); 
         if ($conn)
            echo "亲,棒棒哒,连上啦!!么么哒~";
         else
            echo "死鬼,连我都连不上";
         mysqli_close();
?>

四、通过LNMP部署php项目

1.编写wordpress配置文件

vim /usr/local/nginx/conf/conf.d/wordpress.conf
server {
   listen 80;
   server_name wordpress.dms.com;
   root /html/wordpress;
   index index.html index.php;

   location ~ \.php$ {
     fastcgi_pass 127.0.0.1:9000;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     include fastcgi_params;
   }
}

2.准备代码

#上传并解压
tar xvf WordPress-4.6.tar.gz
#重命名目录保证代码路径和配置文件一致
mv WordPress-4.6/ wordpress
#授权目录为nginx用户
chown -R nginx.nginx /html/

3.准备数据库环境

mysql -uroot -p123

#创建wordpress库
create database wordpress;
#查看wordpress库
show databases;

五、网站页面的跳转功能

1.介绍

将用户所访问的页面,进行跳转到其他的页面中的

2.跳转方式

return
	return 状态码
	return url
	return 状态码 '提示信息'
应用场景:隐藏不希望外部访问的页面,页面跳转功能
#案例1:不允许访问wordpress.dms.com/wp-admin
vim /usr/local/nginx/conf/conf.d/wordpress.conf
location ^~ /wp-admin {
        return 404;
}

#案例2:wordpress.dms.com/wp-admin 页面提示信息
location ^~ /wp-admin {
        return 200 "u shall not pass";
        default_type application/json;
}

#案例3:wordpress.dms.com/wp-admin 跳转到其他页面
location ^~ /wp-admin {
        return http://www.baidu.com;
}

rewrite
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值