构建LNMP平台

Nginx结合FastCGI技术即可支持PHP页面架构,如图所示。
在这里插入图片描述
php-fpm配置文件(不需要修改该文件)
[root@proxy etc]# vim /etc/php-fpm.d/www.conf
[www]
listen = 127.0.0.1:9000 //PHP端口号
pm.max_children = 32 //最大进程数量
pm.start_servers = 15 //最小进程数量
pm.min_spare_servers = 5 //最少需要几个空闲着的进程
pm.max_spare_servers = 32 //最多允许几个进程处于空闲状态
修改Nginx配置文件并启动服务
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
location / {
root html;
index index.php index.html index.htm;
#设置默认首页为index.php,当用户在浏览器地址栏中只写域名或IP,不说访问什么页面时,服务器会把默认首页index.php返回给用户
}
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000; #将请求转发给本机9000端口,PHP解释器
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME d o c u m e n t r o o t document_root documentrootfastcgi_script_name;
include fastcgi.conf;
}
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
#请先确保nginx是启动状态,否则运行该命令会报错,报错信息如下:
#[error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)
创建PHP页面,测试LNMP架构能否解析PHP页面
[root@proxy ~]# vim /usr/local/nginx/html/test1.php

<?php $i="This is a test Page"; echo $i; ?>

创建PHP测试页面,连接并查询MariaDB数据库。

<?php $mysqli = new mysqli('localhost','root','密码','mysql'); //注意:root为mysql账户名称,密码需要修改为实际mysql密码,无密码则留空即可 //localhost是数据库的域名或IP,mysql是数据库的名称 if (mysqli_connect_errno()){ die('Unable to connect!'). mysqli_connect_error(); } $sql = "select * from user"; $result = $mysqli->query($sql); while($row = $result->fetch_array()){ printf("Host:%s",$row[0]); printf(""); printf("Name:%s",$row[1]); printf(""); } ?>

客户端使用浏览器访问服务器PHP首页文档,检验是否成功:
[root@client ~]# firefox http://192.168.4.5/test1.php
[root@client ~]# firefox http://192.168.4.5/test2.php
LNMP常见问题
Nginx的默认访问日志文件为/usr/local/nginx/logs/access.log
Nginx的默认错误日志文件为/usr/local/nginx/logs/error.log
PHP默认错误日志文件为/var/log/php-fpm/www-error.log
如果动态网站访问失败,可用参考错误日志,查找错误信息。
地址重写
修改配置文件(访问a.html重定向到b.html)
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
… …
server {
listen 80;
server_name localhost;
rewrite /a.html /b.html;
location / {
root html;
index index.html index.htm;
}
}
[root@proxy ~]# echo “BB” > /usr/local/nginx/html/b.html
重新加载配置文件
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
客户端测试
[root@client ~]# firefox http://192.168.4.5/a.html
访问a.html重定向到b.html(跳转地址栏)
修改Nginx服务配置:
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
… …
server {
listen 80;
server_name localhost;
rewrite /a.html /b.html redirect;
location / {
root html;
index index.html index.htm;
}
}
重新加载配置文件
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
#请先确保nginx是启动状态,否则运行该命令会报错,报错信息如下:
#[error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)
客户端测试(仔细观察浏览器地址栏的变化)
firefox http://192.168.4.5/a.html
修改配置文件(访问192.168.4.5的请求重定向至www.qq.com)
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
… …
server {
listen 80;
server_name localhost;
rewrite ^/ http://www.qq.com/;
location / {
root html;
index index.html index.htm;
}
}
重新加载配置文件
root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
客户端测试
修改配置文件(访问192.168.4.5/下面子页面,重定向至www.qq,com/下相同的页面)
修改Nginx服务配置
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
… …
server {
listen 80;
server_name localhost;
rewrite ^/(.)$ http://www.qq.com/KaTeX parse error: Expected 'EOF', got '}' at position 65: …l index.htm; } }̲ 重新加载配置文件 [root…http_user_agent ~ firefox) { //识别客户端firefox浏览器
rewrite ^(.*)$ /firefox/$1;
}
}
重新加载配置文件
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
#请先确保nginx是启动状态,否则运行该命令会报错,报错信息如下:
#[error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)
客户端测试
[root@client ~]# firefox http://192.168.4.5/test.html
[root@client ~]# curl http://192.168.4.5/test.html
地址重写格式【总结】
rewrite 旧地址 新地址 [选项];
last 不再读其他rewrite
break 不再读其他语句,结束请求
redirect 临时重定向
permament 永久重定向

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值