测试nginx连接 php,mysql
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
部署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
测试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