装包(nginx、数据库、php、php调用)---------起服务-----权限
装包:
yum -y install gcc openssl-devel pcre-devel zlib-devel //安装nginx
useradd -s /sbin/nologin nginx
tar -xvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --user=nginx --group=nginx --with-http_ssl_module
make && make install
yum -y install mariadb mariadb-server mariadb-devel //安装数据库
yum -y install php php-mysql //安装php
yum -y install php-fpm-5.4.16-42.el7.x86_64.rpm //安装网页调用php解释模块
起服务:
[root@proxy ~]# /usr/local/nginx/sbin/nginx //启动Nginx服务
[root@proxy ~]# systemctl start mariadb //启动mariadb服务器
[root@proxy ~]# systemctl enable mariadb //设置开机启动
[root@proxy ~]# systemctl start php-fpm //启动php-fpm服务
[root@proxy ~]# systemctl enable php-fpm //设置开机启动
权限:
[root@proxy ~]# firewall-cmd --set-default-zone=trusted
[root@proxy ~]# setenforce 0
构建LNMP平台
location匹配用户的地址栏,location / 最低优先级,当无具体匹配时,均匹配为它;
配置(nginx配置动静分离)--------起服务------创建php页面--------验证
配置:
vim /etc/php-fpm.d/www.conf //查看php-fpm配置文件(实验中不需要修改该文件)
[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 //最多允许几个进程处于空闲状态
vim /usr/local/nginx/conf/nginx.conf //修改Nginx配置文件 [动静分离]
location / {
root html;
index index.php index.html index.htm; //设置默认首页为index.php
}
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; //模板存在错误,修改为fastcgi.conf,该文件里有上面错误行正确的答案
}
起服务:
/usr/local/nginx/sbin/nginx -s reload
创建PHP页面:
[root@proxy ~]# vim /usr/local/nginx/html/test1.php //创建页面test1
<?php
$i="This is a test Page";
echo $i;
?>
[root@proxy ~]# vim /usr/local/nginx/html/test2.php //创建页面test2
<?php
$mysqli = new mysqli('localhost','root','密码','mysql'); //root为mysql账户名称,密码改为实际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>");
}
?>
验证:
[root@client ~]# firefox http://192.168.4.5/test1.php
[root@client ~]# firefox http://192.168.4.5/test2.php
LNMP常见问题:
/usr/local/nginx/logs/access.log Nginx的默认访问日志文件
/usr/local/nginx/logs/error.log Nginx的默认错误日志文件
/var/log/php-fpm/www-error.log PHP默认错误日志文件
/usr/local/nginx/conf/nginx.conf nginx 配置文件,里面定义了nginx环境变量,可以与日志配合查看