五、部署LNMP环境(linux + nginx + mysql + php)

装包(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环境变量,可以与日志配合查看
posted @ 2021-06-07 09:40  落樰兂痕  阅读(74)  评论(0编辑  收藏  举报