CentOS7.2 上搭建 Nginx+PHP+MariaDB 环境

最近有个ERP+PHP-web 测试页面环境部署需求,需要部署nginx+php的cgi+socket的模式、mysql环境。查看服务端口是否起来,我们习惯使用netstat指令查看,所以如果你的系统里尚未安装netstat,可直接安装 yum install -y net-tools即可

实验环境:
Linux版本:CentOS 7.2
nginx版本:nginx-1.10.1
PHP版本:php-5.6.5
mysql版本:MariaDB-5.5.52

一、首先部署nginx
把相关依赖包安装完毕
openssl-devel 、zlib-devel `pcre-devel
程序默认是使用 nobody 身份运行的,我们使用 nginx 用户来运行,首先添加Nginx组和用户,不创建家目录,不允许登陆系统
#groupadd  nginx
#useradd  -M  -s /sbin/nologin  -g  nginx  nginx

安装nginx採取的是nginx-1.10.1.tar.gz
# tar xf nginx-1.10.1.tar.gz
# cd nginx-1.10.1

指定安装目录和运行时用的属主和属组,并启用状态监控模块等
#  ./configure \
  --prefix=/usr/local/nginx  \
  --pid-path=/usr/local/nginx/logs/nginx.pid  \
  --lock-path=/var/lock/nginx.lock \
  --user=nginx \
  --group=nginx \
  --with-http_ssl_module \
  --with-http_flv_module \
  --with-http_stub_status_module \
  --with-http_gzip_static_module \
  --http-client-body-temp-path=/var/tmp/nginx/client/ \
  --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
  --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
  --http-scgi-temp-path=/var/tmp/nginx/scgi \
  --with-pcre

大致的配置结果
Configuration summary
  + using system PCRE library
  + using system OpenSSL library
  + md5: using OpenSSL library
  + sha1: using OpenSSL library
  + using system zlib library


  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/var/run/nginx/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "/var/tmp/nginx/client/"
  nginx http proxy temporary files: "/var/tmp/nginx/proxy/"
  nginx http fastcgi temporary files: "/var/tmp/nginx/fcgi/"
  nginx http uwsgi temporary files: "/var/tmp/nginx/uwsgi"
  nginx http scgi temporary files: "/var/tmp/nginx/scgi"


上述配置完,就进行编译安装 
#make && make install
#mkdir /var/tmp/nginx/client/ -pv

等编译安装完成后在 /usr/local 下就会出现 nginx 这个目录了,进入这个目录后发现目录非常简单。
它的配置文件存放在 conf 目录中,网页文件存放在 html 中,日志文件存放在 logs 中,
sbin 目录下只有一个可执行程序 "nginx"

二、部署php环境
a. FastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口
b. Nginx是个轻量级的HTTP server,必须借助第三方的FastCGI处理器才可以对PHP进行解析
c. PHP-FPM是一个第三方的FastCGI进程管理器,它是作为PHP的一个补丁来开发的,在安装的时候也需要和PHP源码一起编译,
也就是说PHP-FPM被编译到PHP内核中,因此在处理性能方面更加优秀;同时它在处理高并发方面也比spawn-fcgi引擎好很多,
因此,推荐Nginx+PHP/PHP-FPM这个组合对PHP进行解析。

首先安装php的一些依赖包
gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel

然后解压下载好的tar包
# tar -xvzf php-5.6.5.tar.gz

进入到解压后的php-5.6.5中
# cd php-5.6.5
# ./configure --prefix=/usr/local/php –enable-fpm –enable-mbstring –with-mysql=mysqlnd –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd
# make && make install

查看php版本
# php -v
PHP 5.6.5 (cli) (built: Jan 10 2017 03:53:13)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies

如果不行,则直接在php的执行文件做个软链接到/usr/bin/php或者复制一份至/usr/bin/下面即可查看PHP版本啦

#ln -s  /usr/local/php/bin/php /usr/bin/php
或者
#cp -raf /usr/local/php/bin/php  /usr/bin/php

php的配置文件php.ini,复制一份安装目录下的php.ini-development这个配置文件模板到php的目录
# cp -raf php-5.6.5/php.ini-development  /usr/local/php/lib/php.ini

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b911176b6e0c72e345e1386eb3ce77e6.html