1、什么是LNMP?
主流的企业网站之一
- L 为linux
- N 为nginx
- M 为mysql或MariaDB
- P 为PHP或Perl或者是Python
2、LNMP的安装
- nginx的安装
- 安装MariaDB
yum -y install mariadb-server
yum -y install mariadb
yum -y install mariadb-devel
- 安装PHP
yum -y install php
#Fpm是PHP FastCGI运行模式的一个进程管理器。
#FastCGI是Web服务器(如Nginx,Apache)和处理程序(如PHP)之间的一种通信协议,
#它是一种应用层通信协议.
#PHP处理完请求后将解析的结果再通过FastCGI协议转发给Web服务器,
#Web服务器再返回给用户
yum -y install php-fpm //
yum -y install php-mysql //php扩展 可以连接到PHP数据库
3、LNMP服务的启动
- nginx服务启动
- MariaDB服务启动
systemctl start mariadb
systemctl status mariadb
netstat -utnalp | grep :3306
- PHP服务启动
systemctl start php-fpm
systemctl status php-fpm
netstat -utnalp | grep :9000
4、部署LNMP项目
- PHP-fpm的配置
vim /etc/php-fpm.d/www.conf
[www]
listen =127.0.0.1:9000 //php端口号
pm.max_children=32 //最大进程数量
pm.start_servers=15 //最小进程数量
注:进程是资源分配的最小单位,线程是cpu调度的最小单位。多进程其实是在任一时间仅有一个进程占有CPU,但由于时间很短,看上去所有进程在不间断内运行。多线程是多个任务之间上下切换运行,效率高。
- nginx服务的配置
vim /xxx/xxxx/xxxx/nginx.cinf
...
server{
listen 80; //端口
server_name www.xx.com; //域名
location \ {
root html;
index index.php index.html index.htm;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000; //将请求转发到本机到9000端口,PHP解释器。
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi.conf;
}
}
- 创建PHP页面,测试LNMP架构是否可以解析PHP页面
- vim /xxx/xxx/nginx/html/test.php
<?php
$i="This is a test Page";
echo $i;
?>
- 创建PHP测试页面,连接并查询MariaDB数据库
- vim /xxx/xxx/nginx/html/mysql.php
<?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("</br>");
printf("Name:%s",$row[1]);
printf("</br>");
}
?>
5、测试LNMP架构是否成功
- 分别访问test.php 和 mysql.php
firefox http://xxx.xxx.xxx.xxx/test.php //xxx为服务端IP地址
firefox http://xxx.xxx.xxx.xxx/test.php //xxx为服务端IP地址
6、LNMP常见问题
Nginx的默认访问日志文件为/usr/local/nginx/log/access.log
Nginx的默认错误日志文件为/usr/local/nginx/log/error.log
PHP的默认错误日志文件为/var/log/php-fpm/www-error.log
如果动态网站访问失败,请查看错误日志,查找错误信息。