CentOS7.x下安装Nginx、PHP及生成自签名证书、开启http2(上)

说明:在CentOS7.x下安装Nginx、PHP并生成自签名证书、开启http2内容比较多。所以,我将这整块内容分为两部分:这一部分主要是软件的安装及配置,第二部分则为使用openssl生成自签名证书并为Nginx开启http2.

0. 相关软件及概念的简要说明

本次任务要使用到的软件主要有Nginx(依赖的软件有openssl、zlib、pcre)、PHP(php-fpm)

1)Nginx:是一款轻量级、高性能的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。国内的百度、京东、淘宝等都在使用这个开源软件。
官网:http://nginx.org/
2)PHP:这个不多解释,算是进行网页开发必备的工具之一吧。
3)自签名证书:CA(Certification Authority)证书中的一种由签名实体发布给自己的证书,即发布者和证书主体相同。今天实际操作中使用OPENSSL创建的也属于自签名证书,自签名证书的目的即为了增强网络的安全性。
注意:这里说的自签名证书与私有CA签名的证书不同,相关的介绍见:http://blog.csdn.net/sdcxyz/article/details/47220129
4)http2:是下一代HTTP协议,更加安全,目前只在https协议下使用。系统自带的openssl版本较低,不支持http2.

1. Nginx的安装

由于系统自带的openssl版本(可通过openssl version命令查看)不支持http2,所以,为后续操作的便利,我们需要首先通过编译安装的方式“升级”openssl,并安装Nginx以来的系列软件,还包括pcre以及zlib,再编译安装Nginx。
(1) 相关软件的安装
以openssl的编译安装为例:

1)下载最新版源码到本地
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz

2) 源码解压
tar -zvxf openssl-1.1.0f.tar.gz -C /usr/local/src

3) 编译安装
./config --prefix=/usr/local/openssl
make
make install

4) 为openssl设置软连接(替换之前的版本)
    mv /usr/bin/openssl /root/
    ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
    ln -s /usr/local/openssl/include/openssl /usr/include/openssl
    ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
    ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

:pcre及zlib的编译安装与openssl类似(进行前三步即可),故不赘述。
- pcre下载地址:ftp.csx.cam.ac.uk/pub/software/programming/pcre/
- zlib官网:http://zlib.net/

(2) Nginx的编译安装

1) 从官网中下载最新版本
wget http://nginx.org/download/nginx-1.12.0.tar.gz
2) 解压到/usr/local/src
tar -zvxf nginx-1.12.0.tar.gz -C /usr/local/src
3) 编译
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module --with-openssl=/usr/local/src/openssl-1.1.0f --with-zlib=/usr/local/src/zlib-1.2.11 --with-pcre=/usr/local/src/pcre-8.41
说明:openssl,zlib及pcre后跟的是这三个程序的源码路径。
4) 安装
make
make install
5) nginx服务相关命令
开启服务:/usr/local/nginx/sbin/nginx
关闭服务:/usr/local/nginx/sbin/nginx -s stop
重启服务:/usr/local/nginx/sbin/nginx -s reload

Notice:可以使用alias nginx=’/usr/local/nginx/sbin/nginx’简化命令。
此时,在浏览器中输入ip地址,即可看到Nginx的欢迎页面,如下图:这里写图片描述

2. PHP的安装

这里使用较为简便的yum方式进行安装:

1) 安装源
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

2) 安装PHP和PHP-FPM
yum install php71w php71w-cli php71w-fpm  

3. Nginx与PHP的相关配置

按照博主之前的方式进行安装后,此时需要修改的配置文件的分别为:/etc/php.ini/etc/php-fpm.d/www.conf以及/etc/local/nginx/conf/nginx.conf
(1) PHP相关设置
1) /etc/php.ini的修改

cgi.fix_pathinfo=0

将cgi.fix_pathinfo的注释取消掉,并将其值设为0

2) /etc/php-fpm.d/www.conf文件的设置

listen = /run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
user = nginx
group = nginx
在www.conf文件中将上述行的注释取消掉,并将其值设置为上述值。

3) 修改php-fpm.sock文件的所有者及权限

# 新建php-fpm.sock文件
systemctl restart php-fpm
# 修改php-fpm.sock文件权限
chmod 666 /run/php-fpm/php-fpm.sock
chown nginx:nginx /run/php-fpm/php-fpm.sock
# 重启PHP服务
systemctl restart php-fpm

(2) Nginx相关设置
在配置好PHP相关文件后,需要在/etc/local/nginx/conf/nginx.conf中修改Nginx相关配置。

server {
        listen       80;
        server_name  your domain name or IP;

        root /usr/local/nginx/html;
        index  index.php index.html index.htm;

        location ~ \.php$ {
            try_files      $uri =404;
            fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
}

当修改好Nginx的配置后,保存(wq)并退出,并在/usr/local/nginx/html中新建一个info.php文件:

<?php
    phpinfo();
?>

保存并退出,重启Nginx服务:

/usr/local/nginx/sbin/nginx -s reload

在浏览器中输入http://ip/info.php,显示你所安装的PHP相关信息即可。

好了,本篇博客的介绍就到这里了,下篇博客我们将使用openssl生成自签名证书并未nginx开启http2.

博客参考内容主要有:
1. https://sg.godaddy.com/zh/help/build-a-lemp-stack-linux-nginx-mysql-php-centos-7-17349
2. http://www.jianshu.com/p/d5114a2a2052

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值