美文网首页
LNMP环境搭建(Nginx1.14.1+PHP7.2.12+M

LNMP环境搭建(Nginx1.14.1+PHP7.2.12+M

作者: macarl | 来源:发表于2018-11-30 16:50 被阅读0次

首先声明环境是CentOS 7.5 64位
安装顺序为nginx,php,mysql
登录账号为root

第一步安装nginx

安装make
yum -y install gcc automake autoconf libtool make
安装c++编译器
yum -y install gcc gcc-c++
安装pcre,为了重写rewrite

#进入目录
cd /usr/local/src/
#下载pcre-8.42包
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gz
#解压
tar zxvf pcre-8.42.tar.gz  
# 进入解压包
cd /usr/local/src/pcre-8.42
#预编译
./configure
#编译
make
# 安装
 sudo make install

安装zlib库,为了gzip压缩

#进入目录
cd /usr/local/src/
#获取资源包
wget http://zlib.net/zlib-1.2.11.tar.gz
#解压
tar zxvf zlib-1.2.11.tar.gz 
# 进入目录
cd /usr/local/src/zlib-1.2.11/
#预编译
./configure
#编译
make
#安装
sudo make install

安装openssl

#进入目录
cd /usr/local/src/
#获取资源
wget https://www.openssl.org/source/openssl-1.0.2q.tar.gz
#解压
 tar zxvf openssl-1.0.2q.tar.gz
#进入目录
cd /usr/local/src/openssl-1.0.2q/
#预编译
./config 
#编译
make
#安装
sudo make install

安装nginx

cd /usr/local/src/
#获取资源包
wget http://nginx.org/download/nginx-1.14.1.tar.gz
#解压
 tar zxvf nginx-1.14.1.tar.gz
cd /usr/local/src/nginx-1.14.1/
#预编译
./configure --sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/usr/local/src/pcre-8.42 \
--with-zlib=/usr/local/src/zlib-1.2.11  \
--with-openssl=/usr/local/src/openssl-1.0.2q
#编译
make
#安装
sudo make install

启动nginx
/usr/local/nginx/nginx
查看80端口是否开启
netstat -ano |grep 80
验证是否成功
curl -I 127.0.0.1
结果如下:

[root@VM_0_15_centos local]# curl -I 127.0.0.1
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Fri, 30 Nov 2018 04:08:33 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Fri, 30 Nov 2018 04:00:46 GMT
Connection: keep-alive
ETag: "5c00b5ee-264"
Accept-Ranges: bytes

第二步安装php

安装依赖

yum -y install libmcrypt-devel mhash-devel libxslt-devel \
libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel \
zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \
ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel \
krb5 krb5-devel libidn libidn-devel openssl openssl-devel

安装php

cd /usr/local/src/
wget http://cn.php.net/distributions/php-7.2.12.tar.gz
tar zxvf php-7.2.12.tar.gz
cd /usr/local/src/php-7.2.12/
#预编译
./configure --prefix=/usr/local/php \
--enable-fpm \
--enable-mbstring\
 --enable-pdo \
 --with-curl \
--disable-debug  \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
 --enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
 --with-pcre-regex \
--with-pdo-mysql \
--with-mysqli \
--with-gd \
--with-jpeg-dir \
 --with-freetype-dir \
--enable-calendar \
--with-pdo-mysql \
--enable-opcache
#编译
make
#安装
sudo make install

测试php

/usr/local/php/bin/php -v

结果如下

[root@VM_0_15_centos php-7.2.12]# /usr/local/php/bin/php -v
PHP 7.2.12 (cli) (built: Nov 30 2018 13:00:02) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

第三步完善php

配置php.ini

#确定php.ini的设置位置
/usr/local/php/bin/php -i |grep Configuration
#结果如下:
[root@VM_0_15_centos php-7.2.12]# /usr/local/php/bin/php -i |grep Configuration
Configuration File (php.ini) Path => /usr/local/php/lib
Loaded Configuration File => (none)
Configuration

#拷贝php源码的php.ini示例文件到php运行加载位置
cp /usr/local/src/php-7.2.12/php.ini-development  /usr/local/php/lib/php.ini
#编辑php.ini
vim /usr/local/php/lib/php.ini
#设置
cgi.fix_pathinfo=0

配置php-fpm

cp /usr/local/src/php-7.2.12/sapi/fpm/php-fpm /usr/local/bin
cp /usr/local/php/etc/php-fpm.conf.default   /usr/local/php/etc/php-fpm.conf
 cp  /usr/local/php/etc/php-fpm.d/www.conf.default   /usr/local/php/etc/php-fpm.d/www.conf
#创建www用户组
groupadd www
#增加www用户
useradd -g www www
#编辑添加www用户
vim /usr/local/php/etc/php-fpm.d/www.conf
#找到如下位置,更改为www
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = www
group = www
#停止php-fpm
killall php-fpm
#启动php-fpm
php-fpm
#查看
netstat -lntup | grep 9000

第四步配置nginx解析php

vim /usr/local/nginx/nginx.conf
      location / {
            root   html;
            index  index.php index.html index.htm;
        }

        location ~* \.php$ {
           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;
        }
#测试配置是否正常
/usr/local/nginx/nginx -t
#重启nginx
/usr/local/nginx/nginx -s reload
#编辑测试php文件
cd /usr/local/nginx/html/
vim index.php
<?php echo "hello word";
curl -I 127.0.0.1
#测试结果

[root@VM_0_15_centos html]# curl -I 127.0.0.1
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Fri, 30 Nov 2018 06:54:38 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/7.2.12

第五步安装mysql

cd /usr/local/src/
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
rpm -ivh ./mysql80-community-release-el7-1.noarch.rpm 
service mysqld start

vim /etc/my.cnf

[mysqld]
skip-grant-tables 
default_authentication_plugin=mysql_native_password

#重启mysql

#登录mysql
 #刷新权限
flush privileges;
#创建账号
CREATE USER 'user'@'%' IDENTIFIED BY '你的密码';
#运行远程登录
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;
flush privileges; 

#再注释掉skip-grant-tables  重启mysql
systemctl stop mysqld
systemctl start mysqld

相关文章

网友评论

      本文标题:LNMP环境搭建(Nginx1.14.1+PHP7.2.12+M

      本文链接:https://www.haomeiwen.com/subject/zwgccqtx.html