zoukankan      html  css  js  c++  java
  • CentOS7下搭建Nginx+PHP7的安装配置

    一、安装编译工具及库文件:

    yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

    环境要求

    安装nginx需要先将官网下载的源码进行编译,nginx是C语言开发,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++

    zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

    OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

    二、首先要安装 PCRE

    PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。

    注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。

    1、PCRE 作用是让 Nginx 支持 Rewrite 功能。

    cd /usr/local/src/   # 进入目录

    下载 PCRE 安装包,下载地址: http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

    2、解压安装包:

    tar -zxvf pcre-8.35.tar.gz

    3、进入安装包目录

    cd pcre-8.35/

    4、编译安装 

    ./configure

    make && make install

    5、查看pcre版本

     pcre-config --version

    三、安装 Nginx

    1、下载 Nginx,下载地址:http://nginx.org/download/nginx-1.14.1.tar.gz

    生产环境中建议使用Stable version(稳定版)

    注意各版本的区别:Nginx官网提供了三个类型的版本

    (1)Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版
    (2)Stable version:最新稳定版,生产环境上建议使用的版本
    (3)Legacy versions:老版本的稳定版

    cd /usr/local/src/

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

    2、解压安装包:

    tar -zxvf nginx-1.14.1.tar.gz

    3、进入安装包目录

    cd nginx-1.14.1/

    4、编译安装

    ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35      # 编译源码包代码,追加--prefix参数,指定稍后源码包程序的安装路径

    make      # 生成二进制安装程序

    make install     # 运行二进制安装程序

    5、查看nginx版本

    /usr/local/webserver/nginx/sbin/nginx -v

    到此,nginx安装完成。

    四、Nginx 配置

    创建 Nginx 运行使用的用户和组 www

    groupadd www
    useradd -g www www

    配置nginx.conf ,将 /usr/local/webserver/nginx/conf/nginx.conf 替换为以下内容

    mv nginx.conf nginx.conf-backup     # 备份nginx的配置文件

    vim nginx.conf     # 新建nginx的配置文件,写入以下内容

    user www www;
    worker_processes 2;   # 设置值和系统CPU核心数一致,可自定义
    error_log /usr/local/webserver/nginx/logs/nginx_error.log crit;  # 日志位置和日志级别
    pid /usr/local/webserver/nginx/nginx.pid;
    #Specifies the value for maximum file descriptors that can be opened by this process.
    worker_rlimit_nofile 65535;
    events
    {
    use epoll;
    worker_connections 65535;
    }
    http
    {
    include mime.types;
    default_type application/octet-stream;
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" $http_x_forwarded_for';

    #charset gb2312;

    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 8m;

    sendfile on;
    tcp_nopush on;
    keepalive_timeout 60;
    tcp_nodelay on;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types text/plain application/x-javascript text/css application/xml;
    gzip_vary on;

    #limit_zone crawler $binary_remote_addr 10m;
    # 下面是server虚拟主机的配置
    server
    {

    listen 8000;   # 监听端口(根据自己的需求更改)
    server_name localhost;   # 域名
    index index.html index.htm index.php;
    root /usr/local/webserver/nginx/html;   # 站点目录(也就是以后存放php文件的根目录)
    location ~ .*.(php|php5)?$
    {
    #fastcgi_pass unix:/tmp/php-cgi.sock;
    fastcgi_pass 127.0.0.1:9000;   # 需要特别注意这个配置,这里是用来连接Nginx和PHP的php-fpm服务的默认端口9000,php-fpm服务后面会安装,可以根据自己的需求更改
    fastcgi_index index.php;
    include fastcgi.conf;
    }
    location ~ .*.(gif|jpg|jpeg|png|bmp|swf|ico)$
    {
    expires 30d;
    # access_log off;
    }
    location ~ .*.(js|css)?$
    {
    expires 15d;
    # access_log off;
    }
    access_log off;
    }

    }

    检查配置文件nginx.conf的正确性命令:

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

    五、启动 Nginx

    Nginx 启动命令如下:

    /usr/local/webserver/nginx/sbin/nginx
    ps -ef | grep nginx

    六、访问Nginx

    从浏览器访问我们配置的站点IP,如果出现Welcome to nginx!那么nginx就安装成功了!

    Nginx 其他命令

    以下包含了 Nginx 常用的几个命令:

    /usr/local/webserver/nginx/sbin/nginx -s reload      # 重新载入配置文件

    /usr/local/webserver/nginx/sbin/nginx -s reopen     # 重启nginx

    /usr/local/webserver/nginx/sbin/nginx -s stop         # 停止nginx

    七、安装PHP7

    (1)安装php7

    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

    yum install 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-mysql.x86_64 php70w-pdo.x86_64

    安装完成后键入php -v会显示出php的版本,代表php安装完成了,接着往下看。

    Nginx和PHP都安装完成了,此时还得配置php-fpm服务。让nginx与php连接起来,才能使用。

    (2)安装php-fpm

    yum install php70w-fpm php70w-opcache

    打开php-fpm配置文件

    vim /etc/php-fpm.d/www.conf

    修改以下内容(这里查找配置项时,可以在末行模式下使用斜杠加要查找的关键字回车查找,如下图所示)

    将listen.owner与listen.group参数分别修改为www

    (3)最后,把三个参数修改完成后:wq退出,然后启动 php-fpm 服务

    systemctl start php-fpm

    注意:/var/log/php-fpm/error.log文件是php-fpm服务的错误日志文件,要是有什么错误可以去查看,我遇到了php-fpm服务默认9000端口被占用,导致php-fpm服务启动不了,要是你也遇到,更改冲突端口。

    (4)开机启动设置

    systemctl enable php-fpm
    systemctl daemon-reload

    (5)在之前设置的php目录下,新建一个php文件用于测试。

    在 /usr/local/webserver/nginx/html 目录下建立 index.php 文件

    cd /usr/local/webserver/nginx/html

    vim index.php

    (6)输入以下内容:

    <?php
     phpinfo();
    ?>

    退出保存

    (7)重启Nginx

    /usr/local/webserver/nginx/sbin/nginx -s reopen     # 重启nginx

    /usr/local/webserver/nginx/sbin/nginx    # 启动nginx

    ps -ef | grep nginx    # 以全格式查看所有nginx服务的进程信息

     

    (8)然后,在浏览器上访问你的IP地址:端口号/index.php如果看到以下画面,则说明我们的 nginx + php 成功关联上了。

     

  • 相关阅读:
    对C# .Net4.5异步机制测试
    权限系统设计
    C#基础知识
    eclipse+pyDev
    Ubuntu下使用sublime text进行py开发
    110_02 补充模块:BeatifulSoup模块
    034 如何判断一个对象是否是可调用对象
    037 简单计算器实现
    036 re模块的小练习
    035 用Python实现的二分查找算法(基于递归函数)
  • 原文地址:https://www.cnblogs.com/opsprobe/p/9939021.html
Copyright © 2011-2022 走看看