Centos7下搭建LEMP环境简明笔记

2018-03-28  本文已影响0人  伍冲虚

ssh登陆你的服务器

ssh 用户@主机

创建用户,密码,加入wheel用户组

useradd newuser
passwd newuser
sudo gpasswd -a newuser wheel

返回:

Adding user newuser to group wheel

查看用户所属群组:

groups newuser

返回:

newuser : newuser wheel

登陆

su newuser

这样newuser就可以使用sudo命令了。

添加yum仓库

去安装 ius 仓库,它提供了不同的版本,我们需要安装适合用在 centos 7 上的仓库 ..

sudo yum install https://centos7.iuscommunity.org/ius-release.rpm -y

查看一下仓库的列表 ..

yum repolist

你会看到刚才安装的 ius 这个仓库 .. 因它这个仓库会依赖 epel-release 仓库,所以安装它的时候也会自动去安装这个 epel 仓库 ..

安装NGINX

sudo yum install nginx -y

完成以后启动一下这个服务 ..

sudo systemctl start nginx

再让它可以开机自启动 ..

sudo systemctl enable nginx

下面我们可以测试一下看看 .. 打开浏览器 .. 直接输入服务器的 ip 地址 .. 你应该会看到一个 NGINX 的欢迎页面 .. 说明现在已经成功的安装了 NGINX ..
如果不能看到,需要防火墙打开80端口

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

安装MariaDB

先删除Centos7自带的MariaDB

sudo yum remove mariadb-libs -y

然后搜索一下最新的包

sudo yum search mariadb

安装

sudo yum install mariadb101u-server -y

开启

sudo systemctl start mariadb

然后让它可以开机自启动

sudo systemctl enable mariadb

再执行一下安全相关的配置

mysql_secure_installation

这里要让我们回答一些问题 ..

输入当前 root 用户的密码, 直接回车 . 要设置 root 密码吗? 是的 ... 再确认一次 ... 是否要删除匿名用户吗? 是的 , 想要禁用 root 用户远程登录吗? 可以 ,要删除掉 test 这个数据库吗? 确定 ,最后会提示,要重新加载权限吗? 再输入一个 Y,表示确定 ...

这样我们就完成了 MariaDB 这个数据库的安装还有配置 ... 可以测试一下 ...

mysql -u root -p

意思是使用 root 用户登录到数据库的控制台, 输入密码 .. 注意这个 root 是数据库管理系统的那个 root 用户 ...

这样会登录到数据库的控制台 ... 显示数据库系统里所有的数据库 ,可以使用

show databases;

安装PHP-FPM

PHP-FPM,它可以把解释好的 PHP 交给 NGINX 服务器

sudo yum search php

先搜索一下 .. 这里会有一些 php72u 开头的包, 72表示 7.2 的 PHP .. 它们是 ius 仓库提供的包 ..

sudo yum install php72u-fpm -y

完成以后启动一下这个服务 ..

sudo systemctl start php-fpm

再让它可以开机自启动 ..

sudo systemctl enable php-fpm

另外还有一些常用的 php 扩展我们也可以再去安装一下 .. gd 提供了处理图像的功能 .. mysqlnd 还有 pdo 是跟数据库有关的扩展 .. mcrypt 是加密用的 .. mbstring 是处理多字节字符的扩展 .. 再加上一个 json .. 它可以处理 json 格式的数据 ..

sudo yum install php72u-gd php72u-mysqlnd php72u-pdo php72u-mcrypt php72u-mbstring php72u-json -y

完成以后我们可以重新加载一下 php-fpm ..

sudo systemctl reload php-fpm

NGINX 配置

下面创建一个基本的可以运行 php 应用的 NGINX 配置文件,把它放到 /etc/nginx/conf.d 这个目录的下面吗,名字可以是 php.basic.conf

sudo vi /etc/nginx/conf.d/php.basic.conf

server {
  listen        80;
  server_name   IPADDRESS DOMAIN;
  root          /home/www/default;
  index         index.php index.html;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi.conf;
  }
}

先添加一个 server 区块 .. 然后用一个 listen 指令设置一下监听的端口号 .. 另起一行 .. 再用一个 server_name , 先用一下服务器的 ip 地址 .. ,因为我们还没有特别想要使用的主机名 ..

再用 root 指令设置一下这个网站应用的根目录 .. 比如放在 /home/www/default 这个目录的下面 ..

index 指定可以设置一些默认打开的文件 .. 再这个 server 区块里,再定义一个 location 区块 ..

里面添加一行指令 try_files $uri $uri/ /index.php?$query_string; 它可以实现网站的地址重写功能 ..

然后我们需要让这个网站应用可以处理 php 脚本 ... 再添加一个 location ,它匹配的是对 php 文件的请求 ..

在它里面再添加几行指令 .. 主要就是告诉 NGINX 怎么样处理 PHP 脚本 。

fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;

完成以后保存一下这个配置文件 .. 再去创建需要的目录 .. sudo mkdir -p /home/www/default

修改一下目录的拥有者,把拥有者改成当前登录的用户

sudo chown -R newuser /home

在创建的这个 default 目录的下面再去添加一个 php 文件

vi /home/www/default/phpinfo.php 

在这个文件里用一个 phpinfo() 函数

<?php phpinfo();?>

保存一下 ,然后重新加载一下 NGINX

sudo systemctl reload nginx 

在浏览器里直接打开服务器的 IP 地址 ,后面加上 phpinfo.php ,会显示 PHP 相关的信息

http://IPADDRESS/phpinfo.php

说明已经可以处理 PHP 脚本了
到这里为止一个LEMP环境就搭建好了。

上一篇下一篇

猜你喜欢

热点阅读