nginx 的安装可以使用 apt-get 或者从官网(http://nginx.org/download)下载安装包自行安装。不过两者最后的安装路径是不同的,所以造成后面需要配置的文件路径也是不同的。具体不同如下:
安装方法:
wget http://nginx.org/download/nginx-1.9.9.tar.gztar -zxvf nginx-1.9.9.tar.gzcd nginx-1.9.9/./configure:此时如果可能提示诸如 缺少 PCRE Library,通过 sudo apt-get install libpcre3 libpcre3-dev 即可makesudo make install结构介绍:
logs/(日志路径): 包含access.log(正常访问日志),error.log(错误日志),nginx.pid(运行时的 nginx id 号)sbin/(执行路径): 包含 nginx(可执行文件)html/(静态内容路径):index.html(默认的 nginx 欢迎页面,具体在后面配置时介绍)conf/(配置路径):nginx.conf(配置文件)两种安装方式需要配置的东西大致类似,不过细节上还是有一定区别。
需要的配置主要就是 /usr/local/nginx/conf/nginx.conf 文件,其中主要结构如下
http { # 静态文件映射 server { listen 80; ------------- 监听的端口 server_name www.domain1.com; ------------- 直接访问的 url location / { ------------- 映射的 url 路径,后续路径将对应路径与 root 指定的根路径的对应路径关联 index index.html; ------------- 映射的对应文件 root /var/www/domain1.com/htdocs; ------------- 实际访问的根目录 } } # 动态访问映射 server { listen 80; server_name www.domain2.com; location /test { proxy_pass http://127.0.0.1:8051/real_test ------------- 对 www.domain2.com/test 的访问将被转发到本机 8051端口的 real_test 请求上 } } }其结构主要通过 http {} 来指定 http 相关内容,server {} 指定每一个映射关系。如果需要负载均衡(存在多个服务),可以通过配置 upstream {} 进行配置。需要注意的是映射时,location /*** 路径最后是否需要添加 / 结尾需要与实际服务关联的路径一致,实际服务有,就加 /;没有就不加。
通过系统安装 /etc/nginx/nginx.conf 主要作用是引入 conf.d/ 和 sites-enabled/ 两个文件夹下的配置。
具体的配置和安装包类似不再介绍。不过有几点需要注意:
由于引入顺序的不同,好像 sites-enabled/ 的配置会覆盖 conf.d/;同时由于 sites-enabled/default 中整体监听了 80 端口,可能造成 conf.d/ 中的配置无效。由于在 /etc/nginx/nginx.conf 中的 include 的操作已经在 http {} 中,所以 conf.d/ 和 sites-enabled/ 中的配置直接应该从 server {} 开始即可。 server { listen 80; server_name 127.0.0.1; location / { proxy_pass http://127.0.0.1:8051/api; } }