美文网首页
LNMP的搭建

LNMP的搭建

作者: Linux_淡忘 | 来源:发表于2019-05-05 23:57 被阅读0次

LNMP就是

 Linux作为服务器的操作系统
 Nginx作为Web服务器
 PHP作为解析动态脚本语言
 MySQL即为数据库

Nginx服务本身不能处理PHP的请求,那么当用户发起PHP动态请求, Nginx又是如何进行处理的。
有两种方法:
1.将PHP页面的解析请求转发给Apache处理
2.将PHP页面的解析请求转发给php-fpm模块
用户–>http协议–>Nginx–>fastcgi–>php-fpm

1.用户通过http协议发起请求,请求会先抵达LNMP架构中的Nginx
2.Nginx会根据用户的请求进行判断,这个判断是有Location进行完成
3.判断用户请求的是静态页面,Nginx直接进行处理
4.判断用户请求的是动态页面,Nginx会将该请求交给fastcgi下发
5.fastgi会将请求交给php-fpm管理进程, php-fpm管理进程接收到后会调用具体的工作线程wrapper
6.wrapper线程会调用php进行解析,如果只是解析代码php直接返回
7.如果有查询数据库操作,则由php连接数据库(用户 密码 IP)然后发起查询的操作
8.最终数据由mysql->php->php-fpm->fastcgi->nginx->http->user

下面开始实践:
这里使用的软件版本为:Nginx 1.16 MySQL 5.6 PHP 7.1

一.N

首先安装nginx服务

yum install nginx -y

第二步:设置开机自启

systemctl start nginx
systemctl enable nginx

二.M

1.下载MySQL官方扩展源

[root@nginx ~]# rpm -ivh http://repo.mysql.com/yum/mysql-5.6-community/el/7/x86_64/mysql-community-release-el7-5.noarch.rpm

2.安装

yum install mysql-community-server -y

3.启动数据库, 并加入开机自启动

[root@nginx ~]# systemctl  start mysqld
[root@nginx ~]# systemctl enable mysqld

4.登录数据库和重置数据库密码

[root@web01 ~]# mysql -u root
……
mysql> 
mysql> exit
###5.6默认无密码
###为了安全,必须给root设置密码
[root@nginx ~]# mysqladmin -u root password 123456
如果已经有密码,再次修改
[root@web01 ~]# mysqladmin -u root -p123456 password 123321

6.使用密码登陆mysql

[root@web01 ~]# mysql -u root -p123321
…
mysql> 
###此步为检查密码

三.P

1.移除旧版php(之前有通过Base或epel库安装过php的,必须执行这个操作)

yum remove php-mysql-5.4 php php-fpm php-common

2.安装扩展源

[root@nginx ~]# yum localinstall -y http://mirror.webtatic.com/yum/el7/webtatic-release.rpm                    
 <=====自己做了rpm包,所以yum localinstall安装

3.安装php7.1版本

[root@nginx ~]# 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
yum localinstall -y *.rpm
进入/etc/yum.repos.d/
vim webtatic.repo

4.启动php-fpm管理进程, 并加入开机自启

[root@nginx ~]# systemctl start php-fpm
[root@nginx ~]# systemctl enable php-fpm

四:组合

验证Nginx是否能正常解析php动态请求,以及php程序能否正常连接数据库
1.创建一个测试站点

[root@nginx /application/nginx/conf/extra]# cat /application/nginx/conf/extraphp.conf 
server {
        server_name www.oldboy.com;
        listen 80;
        root  html/php;
        index index.php index.html;

        location ~ \.php$ {
                root  html/php;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
        }
}
###这里目录都为yum安装后的目录(仅供参考)

2.新增info.php, 测试php解析是否工作正常

[root@web01 ~]# cat /application/nginx/html/php/index.php
<?php
        phpinfo();
?>

3.测试php是否能连接mysql数据库服务[无论是本地数据库还是远程数据库,测试方式一致

[root@web01 ~]# cat /code/mysqli.php
<?php
        $servername = "localhost";
        $username = "*********";                       #####用户名
        $password = "*********";                       #####用户密码

        // 创建连接
        $conn = mysqli_connect($servername, $username, $password);

        // 检测连接
        if (!$conn) {
            die("Connection failed: " . mysqli_connect_error());
        }
        echo "连接成功";
?>

五:部署博客(wordpress)

1.配置Nginx虚拟主机站点,域名为blog.zyl666.com

[root@web01 conf]# cat blog.conf 
server {
    listen 80;
    server_name blog.zyl666.com;
    root conf/wordpress;
    index index.php index.html;

    location ~ \.php$ {
        root  conf/wordpress;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

2.获得wordpress源码

wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz

3.解压网站源码文件,拷贝至对应站点目录,并授权站点目录

[root@nginx tools]# tar xf wordpress-4.9.4-zh_CN.tar.gz
[root@nginx tools]# mv wordpress /application/nginx/conf/

4.重载nginx和php-fpm

systemctl reload nginx php-fpm

5.由于wordpress产品需要依赖数据库, 所以需要手动建立数据库

[root@web01 conf]# mysql -u root -p*******  <====这里的密码为自己那会设置的密码
mysql> create database wordpress;
Query OK, 1 row affected (0.00 sec)
mysql> exit
Bye

wordpress进去后会提示让你创一个文件里面键入内容,直接把提示的内容放进去就可以,如果想上传图片,需要给wordpress底下的目录wp-content提权

附赠本人结果图片:


image.png

相关文章

网友评论

      本文标题:LNMP的搭建

      本文链接:https://www.haomeiwen.com/subject/tpfkoqtx.html