centos7下安装LNMP(nginx1.12.1+PHP7.1.9+mysql5.7)

smallkoala 发布于2年前
0 条问题

编译安装LNMP

准备工作

安装gcc

yum -y install gcc-c++

1、安装nginx

安装pcre-devel

yum -y install pcre-devel

安装gzip

yum -y install zlib-devel

安装openssl

yum -y install openssl-devel

下载nginx

nginx官方下载地址

 http://nginx.org/en/download.html

获取目前最新稳定版

wget http://nginx.org/download/nginx-1.12.1.tar.gz

解压nginx压缩包

tar zxvf nginx-1.12.1.tar.gz

进入目录

cd nginx-1.12.1

进行编译安装

./configure

然后

make&&install

会默认安装到/usr/local/nginx

nginx相关命令
启动nginx

/usr/local/nginx/sbin/nginx

查看nginx是否启动

ps -ef|grep nginx

2、安装mysql(5.7)

下载mysql源安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

安装mysql源

yum localinstall mysql57-community-release-el7-8.noarch.rpm

检查是否安装成功

yum repolist enabled | grep "mysql.*-community.*"

如下显示表示成功

安装mysql

yum install mysql-community-server

mysql相关操作

启动 service mysqld start
停止 service mysqld stop
重启 service mysqld restart

3、安装PHP

获取PHP

可自行选择php版本

http://php.net/

这里用的7.1.9

wget -O php-7.1.9.tar.gz http://am1.php.net/get/php-7.1.9.tar.gz/from/this/mirror

解压

tar zxvf php-7.1.9.tar.gz

进入目录

cd php-7.1.9

安装编译时需要的依赖包

yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel

安装过程中发现无法安装libmcrypt扩展,可以使用以下方法

1、安装第三方yum源

wget http://www.atomicorp.com/installers/atomic
sudo sh ./atomic

2、使用yum命令安装

sudo yum install php-mcrypt
sudo yum install libmcrypt
sudo yum install libmcrypt-devel

开始配置

./configure \
--prefix=/usr/local/php7 \
--exec-prefix=/usr/local/php7 \
--bindir=/usr/local/php7/bin \
--sbindir=/usr/local/php7/sbin \
--includedir=/usr/local/php7/include \
--libdir=/usr/local/php7/lib/php \
--mandir=/usr/local/php7/php/man \
--with-config-file-path=/usr/local/php7/etc \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--with-mcrypt=/usr/include \
--with-mhash \
--with-openssl \
--with-mysql=shared,mysqlnd \
--with-mysqli=shared,mysqlnd \
--with-pdo-mysql=shared,mysqlnd \
--with-gd \
--with-iconv \
--with-zlib \
--enable-zip \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache \
--enable-redis \
--enable-fpm \
--enable-fastcgi \
--with-fpm-user=www \
--with-fpm-group=www \
--without-gdbm \
--disable-fileinfo

编译安装php比较消耗内存,如果内存溢出会报错,可以考虑设置交换分区

创建swap挂载点

 mkdir /opt/images/
 rm -rf /opt/images/swap

设置挂载swap的大小,64M*32=2GB

dd if=/dev/zero of=/opt/images/swap bs=64M count=32
 mkswap /opt/images/swap

开启swap

swapon /opt/images/swap

然后可以继续下一步操作
(php编译安装后,可以关闭swap并删除挂载文件

swapoff /opt/images/swap
  rm -f /opt/images/swap

)

正式安装,时间会稍微长些

make && make install

配置php环境变量

vim  /etc/profile

在末尾加上

PATH=$PATH:/usr/local/php/bin
export PATH

保存后使之立即生效

source /etc/profile

查看PHP版本

php -v

配置nginx支持php-fpm

php-fpm相关配置

PHP-FPM是一个PHP FastCGI管理器。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置。新版PHP已经集成了PHP-FPM,可以直接使用。

php的默认安装位置在 /usr/local/php7

对php-fpm运行用户进行设置

首先创建web用户
用户 组都设置为www-data,可以自己定

groupadd www-data
useradd -g www-data www-data

复制一份php-fpm配置文件

cd /usr/local/php7/etc
cp php-fpm.conf.default php-fpm.conf
打开配置文件
vim php-fpm.conf

打开后移到最后会发现会引入php-fpm.d目录下的所有 .conf 类型的配置文件

打开 php-fpm.d目录,复制默认配置文件并打开修改

cd php-fpm.d
cp www.conf.default  www.conf
vim www.conf

默认用户组都是www


修改为我们新加的www-data用户


保存退出,重启php-fpm服务

/usr/local/php7/sbin/php-fpm

php-fpm默认使用9000端口,使用如下命令可查看是否成功启动

netstat -lnt | grep 9000

nginx相关配置

打开nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

修改用户组
第一行注释去掉 nobody改为www-data

添加index.php,使nginx默认使用index.php为入口页

配置php-fpm模块


主要修改69行的/scripts 为 $document_root

以上都修改后保存退出
先检测相关配置是否正确

/usr/local/nginx/sbin/nginx -t

显示正确,重启nginx
/usr/local/nginx/sbin/nginx -s reload

切到nginx下的html目录(默认代码目录)
新建index.php

<?php
phpinfo();
?>

然后访问对应地址(你的服务器地址)是否可以运行
127.0.0.1/index.php

可以直接用curl试下,为了方便查看,这里输出hello,world

curl localhost/hello.php

输出没有问题,php成功运行。

查看原文: centos7下安装LNMP(nginx1.12.1+PHP7.1.9+mysql5.7)

  • bigmeercat
  • tinymeercat
  • bigrabbit
  • purpleduck
需要 登录 后回复方可回复, 如果你还没有账号你可以 注册 一个帐号。