nginx简易安装和配置

环境 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;
}

你可能感兴趣的:(nginx简易安装和配置)