环境 centos7.4
安装nginx
下载
# 注意选择版本号
wget http://nginx.org/download/nginx-1.14.0.tar.gz
解压
# 到当前下载目录
tar zxvf nginx-1.14.0.tar.gz
安装
# 这里的安装并没有开启https-ssl模块
./configure && make && make install
# 如果要开启https-ssl模块使用下面这条命令
./configure --with-http_ssl_module && make && make install
启动、重启、停止、退出
# 启动 切换目录到安装nginx的sbin下
./nginx
# 重新加载配置|重启|停止|退出
./nginx -s reload|reopen|stop|quit
# 测试配置是否有语法错误
nginx -t
配置
反向代理
location ^~ /api/v1/ {
proxy_pass http://localhost:8080;
}
nginx配置单页应用之路由匹配以及404页面
当使用history的方式作为前端路由时,刷新页面会找不到路由
# 所有找不到的路由 跳转到index.html
location / {
try_files $uri $uri/ /index.html;
}
安装配置https-ssl证书
修改更新Nginx根目录下 conf/nginx.conf 文件
server {
listen 443;
server_name www.opqnext.com; #填写绑定证书的域名
ssl on;
ssl_certificate 1_www.opqnext.com_bundle.crt;
ssl_certificate_key 2_www.opqnext.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录
index index.html index.htm;
}
}
配置文件参数说明
listen 443 SSL // 访问端口号为443
ssl on // 启用ssl功能
ssl_certificate //证书文件
ssl_certificate_key //私钥文件
ssl_protocols //使用的协议
ssl_ciphers //配置加密套件,写法遵循openssl标准
启动报错,没有安装http_ssl_module
unknown directive "ssl"
出现这个错误说明没有将ssl模块编译进nginx,在configure的时候加上“–with-http_ssl_module”即可
# 进到下载当前版本nginx包,并且解压 进到目录
./configure --with-http_ssl_module
# 切记千万不要 make install 那样就覆盖安装了
make
# 将原来的nginx备份 备份之前先kill当前正在启动的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
# make之后会在当前目录生成 objs 目录
cp objs/nginx /usr/local/nginx/sbin/nginx
# 然后重新启动nginx
/usr/local/nginx/sbin/nginx -s reload
http 转到 https
- rewrite的方法:
server {
listen 80;
server_name domain;
location / {
rewrite ^/(.*) https://www.lufangyong.com/$1 permanent;
}
}
- return的方法:
server {
listen 80;
server_name www.opqnext.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name domain;
}
网友评论