centOS Nginx 安装 + https配置 + http强制重定向https

其实这个编译很简单,最近整理了下nginx,相对于apache,nginx的异步非阻塞处理高并发的场景更占优势,静态请求可以丢给nginx处理,动态请求可以代理到apache去处理,这篇文章整理下nginx的安装和https的配置,还有http重定向到https。

#依赖
yum install -y openssl openssl-devel pcre pcre-devel zlib zlib-devel 
#下载最新stable版本
wget http://nginx.org/download/nginx-1.12.1.tar.gz 
#编译安装  
tar -zxvf  nginx-1.12.1.tar.gz 
cd nginx-1.12.1
./configure  --with-http_ssl_module && make && make install 
#推荐默认安装,也可以自己制定路径
./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=
    --with-zlib=
    --with-http_ssl_module

安装完后配置文件都在conf文件夹下,基础配置是nginx.conf,可以先修改写简单配置,把user改成www用户,打开pid注释,然后在配置文件底下添加自己的https域名配置,(证书可以去腾讯申请个免费的,这里就不做说明,申请后把下载下来的crt和key放在自己的服务器上),然后在配置文件最底下添加

server {
    listen         80;
    server_name    qyc.yzccz.cn;
    return 301 https://$host$request_uri;    #这个是http强制重定向到https关键的一行
}

server {
    listen 443 ssl;
    ssl_certificate /usr/local/nginx/ssl/1_qyc.yzccz.cn_bundle.crt;   
    ssl_certificate_key /usr/local/nginx/ssl/2_qyc.yzccz.cn.key;
    server_name  qyc.yzccz.cn;
    root /usr/local/nginx/html;
    location / {
        index index.php;
        autoindex on;
    }

    location ~ \.php$ {      #php请求转发到php-fpm,php-fpm用的是tcp模式监听 9000端口
        include /usr/local/nginx/conf/fastcgi.conf;      
        fastcgi_intercept_errors on;
        fastcgi_pass   127.0.0.1:9000;
    }
}

这样https就配置好了,有个坑和大家提下,如果你的域名没有备案,就比如我的,配置完强转后,去访问qyc.yzccz.cn ,会被403拦截下来,你可以在连接后加个.就能看到强转效果:qyc.yzccz.cn.

最后nginx的启动、关闭和重启命令:
在sbin目录下
启动 ./nginx
关闭 ./nginx -s stop
重载配置 ./nginx -s reload
查看配置文件合法 ./nginx -t

可以把nginx配置到服务,并配置开机启动,这里就不介绍了。注意一点,如果本地开了apache,先关了再启动nginx,默认下都占用了80端口。

你可能感兴趣的:(centOS Nginx 安装 + https配置 + http强制重定向https)