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
配置:./configure
安装:make && make install
我这里选择的是nginx-1.12.1
--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)放在该目录下
./nginx
其它命令
./nginx -s reload
./nginx -s stop
./nginx -s reopen
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后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。
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;
}
}
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.gz3)配置
./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安装配置,支持http以及https
- Centos6.5服务器环境搭建之安装Nginx以及Https访问方式的配置
- Nginx https的安装配置以及证书的使用
- NGINX的原理、安装、配置以及使用tomcat在linux上搭载集群环境
- ubuntu 下 nginx 的安装以及配置
- Ubuntu 17.04 编译安装 Nginx 1.9.9 配置 https 免费证书
- nginx安装路径,查找配置文件以及如何配置
- nginx动静态分离以及配置https(安全组强行切换以及导致的问题解决)
- centos6.5下安装nginx配置https
- Windows下安装以及配置nginx
- Nginx安装以及反向代理配置
- 阿里云ubuntu配置安装nginx,配置域名和HTTPS
- Nginx https加密以及nginx日志配置与管理
- ubuntu 安装 nginx以及apache安装配置
- Nginx环境配置以及安装
- Nginx的安装以及配置文件
- ubuntu nginx 安装以及配置文件详解
- centos 安装配置 rabbitmq 以及nginx转发
- Nginx安装配置以及配置文件详细说明