LNMP环境搭建(nginx+mysql+php)

LNMP 环境搭建(nginx+mysql+php)

本教程是在CentOS 7 下运行的

前期准备

yum -y install gcc gcc-c++ autoconf pcre-devel make automake
yum -y install wget httpd-tools vim
systemctl disable firewalld  #(永久关闭防火墙)

安装 nginx 服务器

1、检测 yum 是否已经存在

 yum list | grep nginx

如果返回值 nginx的版本说明yum源中已经存在nginx 否则我们要进行一下配置

2、配置yum源

vim /etc/yum.repos.d/nginx.repo

最新的 yum 源配置可以去nginx的官网寻找 (先点击download,在下载页点击stable and mainline)

image.png

(本教程中的配置信息)按 i 编辑进入编辑模式

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true

3、安装nginx

yum -y install nginx

4、查看nginx的安装版本

nginx -v

返回nginx版本则说明安装成功

安装Mysql

下载mysql的离线压缩包,不推荐使用yum直接安装
链接:https://pan.baidu.com/s/1o4kANL4EQ5gq4DM5T3-fJg
提取码:aoem

上传到linux 的 / 根目录 然后解压

tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 

移动解压后的文件夹,并且重命名

mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql

创建mysql用户组和用户并修改权限

groupadd mysql
useradd -r -g mysql mysql

创建数据目录并赋予权限

mkdir -p  /data/mysql            #创建目录
chown mysql:mysql -R /data/mysql          #赋予权限

配置my.cnf

vim /etc/my.cnf

内容如下

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

初始化数据库

进入mysql的bin目录

cd /usr/local/mysql/bin/

初始化

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

如执行后报错内容为 ./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
我们需要安装libaio再次初始化

yum install libaio

查看默认密码并记录,我们一会要用它修改为自己的密码

cat /data/mysql/mysql.err
image.png

启动mysql 并更改root密码

先将mysql.server放置到/etc/init.d/mysql中

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

启动

service mysql start
 
ps -ef|grep mysql    #查看mysql的进程可以不执行这句

修改mysql的默认密码

首先登录mysql,前面的那个是随机生成的。

./mysql -u root -p   #bin目录下(密码支持粘贴-密码不可见 * 号都没有)

再执行下面三步操作,然后重新登录。

SET PASSWORD = PASSWORD('123456');    #(123456)是你要设置的mysql密码
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;  

解决远程登录

use mysql                                            #访问mysql库
update user set host = '%' where user = 'root';      #使root能再任何host访问
FLUSH PRIVILEGES;                                    #刷新

如果不希望每次都到bin目录下使用mysql命令则执行以下命令

ln -s  /usr/local/mysql/bin/mysql    /usr/bin

设置mysql开机自启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
systemctl enable mysqld

命令执行完成后,我们重新连接服务器即可

声明:以上数据库的安装教程来自 蛇皮蛋蛋

PHP环境安装

1、更新 yum 源
运行以下命令添加IUS源(下面的命令是模板,不是运行命令)。

#运行命令前,请将<版本号>替换为当前可用的版本号。
yum install -y http://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-<版本号>.ius.centos7.noarch.rpm

本教程中使用的命令如下

yum install -y http://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-15.ius.centos7.noarch.rpm
  • 查找可用版本号的方法如下:
    访问ius community网站。
    在搜索框中输入ius-release
    选择带有centos7的版本。红框中的内容即为可用的版本号,如下图所示。

    image.png

  • 运行以下命令添加Webtatic源。

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
  • 运行以下命令安装PHP。

yum -y install php70w-devel php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64  php70w-pdo.x86_64   php70w-mysqlnd  php70w-fpm php70w-opcache php70w-pecl-redis php70w-pecl-mongodb

  • 如果报错Cannot find a valid baseurl for repo: ius/x86_64,请尝试运行以下命令编辑文件/etc/yum.repos.d/ius.repo
vi /etc/yum.repos.d/ius.repo
  • 按键盘i键进入编辑模式,去掉#baseurl=https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/$basearch前方的注释符号# 并再次安装
    修改后,如下图所示:

    image.png

  • 查看php版本

php -v

配置nginx

  • 运行以下命令备份Nginx配置文件。
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
  • 运行以下命令打开Nginx配置文件。
vim /etc/nginx/conf.d/default.conf
  • server 大括号内,添加下列配置信息。

        #添加下列信息,配置Nginx通过fastcgi方式处理您的PHP请求
        location ~ .php$ {
            root /usr/share/nginx/html;    #将/usr/share/nginx/html替换为您的网站根目录,本教程使用/usr/share/nginx/html作为网站根目录
            fastcgi_pass 127.0.0.1:9000;   #Nginx通过本机的9000端口将PHP请求转发给PHP-FPM进行处理
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi_params;   #Nginx调用fastcgi接口处理PHP请求
        }        
  • 重启nginx 服务
systemctl start nginx
# 或者
nginx -s reload
  • 运行一下命令设置nginx 开机自启
systemctl enable nginx

配置php

  • 在网站根目录新建一个php 文件
vim /usr/share/nginx/html/phpinfo.php
  • 输入下列内容。

  • 启动 php-fpm
php-fpm
# 或者
systemctl start php-fpm
  • 运行以下命令设置PHP-FPM开机自启动。
systemctl enable php-fpm

测试

在浏览器中输入ip + /phpinfo.php
返回结果如下图所示,表示LNMP环境部署成功。

image.png

你可能感兴趣的:(LNMP环境搭建(nginx+mysql+php))