您的位置:首页 > 理论基础 > 计算机网络

Nginx安装配置以及https

2017-09-11 20:36 423 查看
需要预先安装的工具(第三个用于HTTPS,不需要可以不装):

yum install zlib gzip zlib-devel

yum install gcc gcc-c++ ncurses-devel perl 

yum -y install openssl openssl-devel  

1. 安装pcre

下载:wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz 解压:tar -xzvf pcre-8.35.tar.gz

配置:./configure
安装:make && make install

2. 安装nginx

1)下载,地址:http://nginx.org/en/download.html

有三种版本可供选择,MainLine(主线版本),Stable(稳定版),Legacy(历史版本,也都是稳定版)。根据自己需要选择。

我这里选择的是nginx-1.12.1

2)解压

tar -xzvf nginx-1.12.1.tar.gz

3)配置

./configure --prefix=/usr/local/nginx/conf --with-http_stub_status_module
--with-http_ssl_module
* 此时不会在指定目录下生成文件,需要执行下面的make install命令后才有

* 后面两个选项,仅在需要https时使用

make

make install

* make执行后,会在/usr/local/nginx/conf目录下生成运行文件(如果没有生成文件,尝试手动创建conf文件夹),而不是在第二步解压后的文件中运行。

* 如果需要配置https证书,则应在/usr/local/nginx/conf/conf目录下,创建文件夹cert,然后将证书文件(xx.key,xx.pem)放在该目录下

4.启动

cd /usr/local/nginx/conf/sbin

./nginx

其它命令

./nginx -s reload

./nginx -s stop

./nginx -s reopen

5. 配置示例(仅静态文件)

1)
location  = / {
  # 只匹配"/".
  [ configuration A ] 
}
2)
location  / {
  # 匹配任何请求,因为所有请求都是以"/"开始
  # 但是更长字符匹配或者正则表达式匹配会优先匹配
  [ configuration B ] 
}
3)
location ^~ /images/ {
  # 匹配任何以 /images/ 开始的请求,并停止匹配其它location
  [ configuration C ] 
}
4)
location ~* .(gif|jpg|jpeg)$ {
  # 匹配以 gif, jpg, or jpeg结尾的请求. 
  # 但是所有 /images/ 目录的请求将由[Configuration C]处理.   
  [ configuration D ] 
}

5)
location ^~ /t/ {
     root /www/root/html/;
}
如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/t/a.html的文件。

6)

location ^~ /t/ {
 alias /www/root/html/new_t/;
}
如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/new_t/a.html的文件。注意这里是new_t,因为alias会把location后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。

7)https

server {
        listen       443 ssl;
        server_name  localhost;

        ssl_certificate cert/xxx.pem;
        ssl_certificate_key cert/xxx.key;

        ssl_session_cache    shared:SSL:1m;
        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;

        location ~ .*\.(html|css|js|png|jpg|gif|ico)$ {
            root /usr/local/nginx/conf/data;
        }

        location / {
            root   html;
            index  index.html index.htm;
        }
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx