• linux之nginx安装与简单配置


    第一部分:nginx安装

    什么是Nginx?

    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下Nginx 是 Apache 服务器不错的替代品.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好.目前中国大陆使用nginx网站用户有:新浪、网易、 腾讯,另外知名的微网志Plurk也使用nginx。

    Nginx的安装

    模块依赖性Nginx需要依赖下面3个包

    1. gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ )

    2. rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ )

    3. ssl 功能需要 openssl 库 ( 下载: http://www.openssl.org/ )

    Nginx包下载: http://nginx.org/en/download.html

    依赖包安装顺序依次为:openssl、zlib、pcre, 然后安装Nginx包.

     

    图解教程

    第一步: 下载安装所需包,版本可以更改。

    openssl-fips-2.0.2.tar.gz
    zlib-1.2.7.tar.gz
    pcre-8.21.tar.gz
    nginx-1.2.6.tar.gz
    

      

    第二步:依次安装openssl-fips-2.0.2.tar.gz, zlib-1.2.7.tar.gz, pcre-8.21.tar.gz, nginx-1.2.6.tar.gz

    1.安装openssl-fips-2.0.2.tar.gz

    [root@localhost mrms]# tar -zxvf openssl-fips-2.0.2.tar.gz 
    [root@localhost mrms]# cd openssl-fips-2.0.2
    [root@localhost openssl-fips-2.0.2]# ./config 
    [root@localhost openssl-fips-2.0.2]# make
    [root@localhost openssl-fips-2.0.2]# make install 

    2.安装zlib-1.2.7.tar.gz

    2.安装zlib-1.2.7.tar.gz
    
    [root@localhost mrms]# tar -zxvf zlib-1.2.7.tar.gz
    [root@localhost mrms]# cd zlib-1.2.7
    [root@localhost zlib-1.2.7]# ./configure 
    [root@localhost zlib-1.2.7]# make
    [root@localhost zlib-1.2.7]# make install
    

      

    3.安装pcre-8.21.tar.gz

    [root@localhost mrms]./nginx -s stop
    [root@localhost mrms]./nginx -s reload
    

      

    # tar -zxvf pcre-8.21.tar.gz [root@localhost mrms]# cd pcre-8.21 [root@localhost pcre-8.21]# ./configure [root@localhost pcre-8.21]# make [root@localhost pcre-8.21]# make install

    4.安装 nginx-1.2.6.tar.gz

    [root@localhost mrms]# tar -zxvf nginx-1.2.6.tar.gz 
    [root@localhost mrms]# cd nginx-1.2.6
    [root@localhost nginx-1.2.6]# ./configure --with-pcre=../pcre-8.21 --with-zlib=../zlib-1.2.7 --with-openssl=../openssl-fips-2.0.2
    [root@localhost nginx-1.2.6]# make
    [root@localhost nginx-1.2.6]# make install

    至此Nginx的安装完成!

    第三步:检测是否安装成功

    [root@localhost nginx-1.2.6]# cd  /usr/local/nginx/sbin
    
    [root@localhost sbin]# ./nginx -t

    启动nginx

    [root@localhost sbin]# ./nginx

    查看端口

    [root@localhost sbin]# netstat -ntlp

    关闭和重启nginx

    [root@localhost mrms]./nginx -s stop
    [root@localhost mrms]./nginx -s reload
    

    第二部分:ssl证书制作

    首先执行如下命令生成一个key

    openssl genrsa -des3 -out ssl.key 1024 
    输入密码:123456

    然后他会要求你输入这个key文件的密码。不推荐输入。因为以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。  

    由于生成时候必须输入密码。你可以输入后 再删掉。

     mv ssl.key 123456.key
     openssl rsa -in 123456.key -out ssl.key
     rm 123456.key
    

     然后根据这个key文件生成证书请求文件

    openssl req -new -key ssl.key -out ssl.csr

       以上命令生成时候要填一下东西, 一个个看着写吧(可以随便,毕竟这是自己生成的证书) 

    最后根据这2个文件生成crt证书文件

    openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt

    这里365是证书有效期 推荐3650哈哈。这个大家随意。最后使用到的文件是key和crt文件。
    如果需要用pfx 可以用以下命令生成

    openssl pkcs12 -export -inkey ssl.key -in ssl.crt -out ssl.pfx 

    在需要使用证书的nginx配置文件的server节点里加入以下配置就可以了。

    ssl on;
    ssl_certificate /home/ssl.crt;
    ssl_certificate_key /home/ssl.key;
    ssl_session_timeout 5m;
    ssl_protocols SSLv2 SSLv3 TLSv1;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    ssl_prefer_server_ciphers on;

    然后重启nginx就大功告成了

    第三部分:nginx.conf文件配置

    配置http与https转发

    #昌吉车辆监控系统 web
    upstream vms_server { server 127.0.0.1:8080; } server{ listen 59020; server_name localhost; location /vms_server/ { proxy_pass http://vms_server/VMS/rest/; #设置允许跨域 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods "POST, GET, OPTIONS"; add_header Access-Control-Allow-Headers "Origin,Authorization,Accept"; add_header Access-Control-Allow-Credentials true; } }

    # HTTPS server
    server {
    listen 59018 ssl;
    server_name www.hejj.com;

    resolver 8.8.8.8;
    ssl_session_cache shared:SSL:20m;
    ssl_session_timeout 20m;
    ssl on;
    ssl_certificate_key D:ssl/ssl.key;
    ssl_certificate D:ssl/ssl.crt;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    #车辆监控 https
    location /vms_server/ {
    proxy_pass http://vms_server/VMS/rest/;
    #设置允许跨域
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods "POST, GET, OPTIONS";
    add_header Access-Control-Allow-Headers "Origin,Authorization,Accept";
    add_header Access-Control-Allow-Credentials true;
    }
    }

    遇到问题

    location /index/ {
    root html;
    index index.html index.htm;
    }

    这个不能被注释,否则nginx访问出现403

    参照博客:https://www.cnblogs.com/kingsy/p/7879115.html

    参照博客:https://blog.csdn.net/dyllove98/article/details/8892509  

  • 相关阅读:
    WIN2008 R2 安装SQLSERVER2008笔记
    WINFORM 打开PDF
    Android 笔记:ImageButton单击切换按钮图片效果的实现(转)
    Android笔记: 查看SDK源码
    H5结合百度map实现GPS定位
    js 计算快速统计中用到的日期
    SpringMVC4+MyBatis+SQL Server2014 基于SqlSession实现读写分离(也可以实现主从分离)
    SpringMVC4+MyBatis+SQL Server2014实现读写分离
    SpringMVC4集成ehcache
    C# 匿名类型序列化、反序列化
  • 原文地址:https://www.cnblogs.com/hejj-bk/p/11611218.html
Copyright © 2020-2023  润新知