1. 前言
lz去年毕业入职前,一直没接触过后台的东西。工作一年时间,从对nginx的一无所知,到现在的一知半解,哈哈。这里只总结了平时工作中用到的一些知识,大前端的趋势下,不了解点nginx真的说不过去啦。
2. nginx主要功能
首先,我们可能都知道nginx只要有一下几个方面的功能:
- 负载均衡
- 反向代理
- https
负载均衡
负载均衡就是在客户端和服务端加一个负载均衡解析器,nginx就是这个解析器。当客户端向服务端发起请求时,先到解析器,解析器判断哪台服务器比较空闲就将请求转发到这台服务器上,减少使用并发请求同一台服务器的压力。如果一台服务器出现问题,另一台服务正常,也能保证我们的网站正常使用。
nginx.conf
upstream tomcat_serve {
server 192.168.1.2:8996
server 192.168.1.3:8995
}
反向代理
反向代理主要是解决跨域问题,匹配到资源时,将请求转发到另一台服务器上。
nginx.conf
server {
listen 80;
server_name test.qq.com; // 域名地址
root html;
index index.htm index.html; //默认主页
location / {
}
location /api { //匹配到/api开头的接口时,转发到下面的服务器地址
root html;
proxy_pass http://tomcat_serve/api; //服务器地址
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|apk|tar.gz)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
}
https
server {
listen 443; // https
server_name test.qq.com; // 域名地址
ssl on;
ssl_certificate /data/crt/test.qq.com.222.crt; // 证书在服务器上的存放路径
ssl_certificate_key /data/crt/test.qq.com.222.key; // 密钥在服务器上的存放路径
root html;
index index.htm index.html; //默认主页
location / {
}
location /api { //匹配到/api开头的接口时,转发到下面的服务器地址
root html;
proxy_pass http://tomcat_serve/api; //服务器地址
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|apk|tar.gz)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
}
3. 常用命令
在nignx的sbin目录下
./nignx -t //检查nginx配置文件是否正确
./nignx -s reload // 重启nginx