测试nginx连接 php,mysql


image-20240527140220119

1.用户通过 http 协议发起请求,请求会先抵达 LNMP 架构中的 Nginx
2. Nginx 会根据用户的请求进行判断,这个判断是有 Location 进行完成
3.判断用户请求的是静态页面, Nginx 直接进行处理
4.判断用户请求的是动态页面, Nginx 会将该请求交给 fastcgi 协议下发
5. fastgi 会将请求交给 php-fpm 管理进程, php-fpm 管理进程接收到后会调用具体的工作进程 warrap
6. warrap 进程会调用 php 程序进行解析,如果只是解析代码 php 直接返回
7.如果有查询数据库操作,则由 php 连接数据库(用户 密码 IP)发起查询的操作
8.最终数据由* mysql->php->php-fpm->fastcgi->nginx->http->user

image-20240527140249929


部署LNMP

L : linux 
N : nginx
M : mariadb
P : php

# 安装nginx
cat /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

yum install -y nginx

# 安装php
[root@nginx ~]# vim /etc/yum.repos.d/php.repo
[php-webtatic]
name = PHP Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck = 0

yum -y install 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

# 安装mariadb
yum install -y mariadb-server  ## (安装服务端)


# 启动mairadb nginx php
systemctl start mariadb nginx php-fpm

# 给数据库的管理员root设置Miami
mysqladmin -uroot password 123
# 连接数据库
mysql -uroot -p123

# 看端口
netstat -lntup

测试nginx和php的连接

# 准备的nginx配置文件
server{
	listen 80;
	server_name 10.0.0.7;
	index index.php index.html;
		location ~ \.php$ {
		root /code;
		fastcgi_pass 127.0.0.1:9000;
		fastcgi_param SCRIPT_FILENAME
		$document_root$fastcgi_script_name;
		include fastcgi_params;
		}
}
# 创建站点目录
mkdir /code
# 准备php测试文件
cat info.php
<?php
phpinfo();
?>
# 重启nginx 和 php
systemctl restart nginx php-fpm.service
# 浏览器访问
10.0.0.7/info.php

image-20240527140702945

测试php能否和数据库连接

## 网页测试
mysqladmin -uroot password 123
root
123
# 准备测试文件
vim /code/mysql.php
<?php
	$servername = "localhost";   ## 主机
	$username = "root";          ## 用户
	$password = "123";           ## 密码
	// 创建连接
	$conn = mysqli_connect($servername, $username, $password);
	// 检测连接
	if (!$conn) {
		die("Connection failed: " . mysqli_connect_error());
	}
	echo "php可以连接MySQL...";
?>
<img style='width:100%;height:100%;'
src=https://www.driverzeng.com/zenglaoshi/php_mysql.png>
# 访问浏览器
10.0.0.7/mysql.php