Centos7-4下安装Nginx

一、下载Nginx

Nginx下载地址
Nginx是C语言开发的,建议在Linux上运行。由于Nginx的一些模块依赖一些lib,所以在安装nginx之前需要安装如下依赖库

yum install gcc-c++ 
yum install pcre pcre-devel 
yum install zlib zlib-devel 
yum install openssl openssl--devel

二、将下载好的Nginx通过ftp上传到Linux里面并解压

tar -zxvf nginx-1.15.10.tar.gz

三、编译Nginx

cd nginx //进入Nginx目录

接下来安装,使用--prefix参数指定nginx安装的目录,make、make install安装

 ./configure //$默认安装在/usr/local/nginx 
make 
make install

四、安装成功,一些Nginx命令

whereis nginx   //查看NGINX目录

./nginx   启动Nginx

./nginx -s reload  //重启Nginx并刷新配置


ps -ef|grep nginx   //查看Nginx进程号
kill -QUIT 2072   //杀死Nginx进程

五、安装SSL证书

五、安装SSL证书

 回到Nginx源码所在的位置,下载ssl模块

yum -y install pcre  pcre-devel zlib  zlib-devel openssl openssl-devel

 从新编译

//我之前默认安装的所以位置在/usr/local/nginx

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module

make 

下面千万不要make install 会覆盖之前的Nginx的目录

备份nginx启动程序并且复制新生成obj目录的nginx启动文件

 首先备份以前的启动程序
cp /usr/local/nginx/sbin/nginx nginx.bak

复制obj新生成的启动程序,覆盖到以前的nginx
 cp /yangk/nginx-1.17.0/objs/nginx  /usr/local/nginx/sbin/nginx

 SSL配置
  在conf下面创建ssl文件夹将下载的SSL里面的.pem和.key复制进去,然后配置就OK了

 server {
        listen       80;
        server_name  yangkui.top;

	listen 443 ssl;
	ssl_certificate      ssl/a.pem; 
        ssl_certificate_key  ssl/b.key; 
	ssl_session_timeout  5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers  on;

六、使用HTTPS访问的时候遇到的错误

在页面的head中加入 ,意思是自动将http的不安全请求升级为https

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

七、强制http访问重定向为HTTPS

  基于上面的配置,如果直接访问https://www.a.com的时候,是没问题的,但是访问www.a.com的时候默认还是http访问。需要强制将http转换成https访问才行

	if ($scheme = http ) {
	return 301 https://$server_name$request_uri;
	}

原文地址:https://www.cnblogs.com/yangk1996/p/12656656.html