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

2020-03-19  本文已影响0人  shine大臣

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<br>
[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
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

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

vi /etc/yum.repos.d/ius.repo
php -v

配置nginx

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
vim /etc/nginx/conf.d/default.conf

        #添加下列信息,配置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请求
        }        
systemctl start nginx
# 或者
nginx -s reload
systemctl enable nginx

配置php

vim /usr/share/nginx/html/phpinfo.php
<?php echo phpinfo(); ?>
php-fpm
# 或者
systemctl start php-fpm
systemctl enable php-fpm

测试

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

image.png
上一篇 下一篇

猜你喜欢

热点阅读