CentOS7 下 LNMP部署

网络上关于CentOS7 部署的LNMP文章很多,但能条理清晰,可操作可复制的文章少而又少。
恰好,最近在研究DVWA,需要重新搭建一个测试环境,借这个机会把整个CentOS7下的LNMP部署再整理一下。

LNMP环境如下:
CentOS 7.5.1804 + Nginx 1.14 + php 7.2 + MariaDB 10.2

整体搭建本身比较简单,本次搭建全部采用RPM包的方式,不需要编译,省去了安装编译环境的麻烦,毕竟这个环境是开发或研究使用的。

进入正题:

所有的执行命令都是在root账号下进行的,如果使用其他账号,需要在命令前加入sudo

1. 安装nginx
$ yum install wget openssl -y
$ cd ~
$ wget -c http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.14.0-1.el7_4.ngx.x86_64.rpm
$ rpm -ivh nginx-1.14.0-1.el7_4.ngx.x86_64.rpm
$ systemctl start nginx

使用curl命令测试服务是否启动

$ curl 127.0.0.1

显示内容就表示安装成功了!

默认CentOS7下没有开放80端口,使用如下命令使防火墙开放80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

直接使用了官方的Nginx RPM包进行安装即可。

2. 安装php
$ yum install epel-release yum-utils -y
$ yum install https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm -y
$ yum-config-manager --enable remi-php72
$ yum install php-fpm php-gd php-mysql php-mbstring php-mcrypt php-soap php-xml -y

$ vi /etc/php-fpm.d/www.conf
---
user = nginx
group = nginx
listen = 127.0.0.1:9000
---

$ systemctl enable php-fpm.service
$ systemctl start php-fpm.service

php源使用了remi的清华源,网上搜了一下,千篇一律的mirror.webtatic.com源,但我自己测试,国内无法直接连接。
phpfastcgi使用了默认的127.0.0.1:9000作为监听,当然也可以使用sock方式
只需要把listen改为unix:/var/run/php-fpm.sock;即可
php-fpmusergroup我这里都改为nginx,如果在正常环境下建议改为www-data

3. 配置Nginx

编辑default.conf,修改配置文件,并加入php-fpm的内容,把文件路径修改为/var/www/html,最后修改html文件夹的权限和使用者

$ cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.backup
$ vi /etc/nginx/conf.d/default.conf
---
location / {
        root    /var/www/html;
        index  index.php index.html index.htm;
    }

location = /50x.html {
        root /var/www/html;
    }

location ~ \.php$ {
        root    /var/www/html;
        fastcgi_index   index.php;
        fastcgi_pass    127.0.0.1:9000;
        include         fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
    }
---

$ mkdir -p /var/www/html
$ chown -R nginx:nginx /var/www/html

$ systemctl restart nginx

同上因为php-fpmusergroup都是nginx,所以这里把html文件夹的所有者都改为nginx

4. 安装MariaDB

添加yum源,并安装

$ vi /etc/yum.repos.d/MariaDB.repo
---
[mariadb]
name = MariaDB
baseurl = https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-10.2.18/yum/centos7-amd64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
---
$ yum install MariaDB-server -y
$ systemctl start mariadb

默认安装后root没有密码,可以使用 mysql_secure_installation 命令可以重设root密码

至此,LNMP环境全部搭建完毕!
实测,按照上述内容直接复制粘贴,全程创建仅需20分钟~~~

你可能感兴趣的:(CentOS7 下 LNMP部署)