内容简介:Nginx配置小记
背景
之前一直使用Apache做静态资源私服及反向代理, 配置稍显复杂, 今天使用nginx来替换Apache, 在此小记一下探索的过程及碰到的问题.
安装
本人使用Mac系统, 偷懒的使用了homebrew, 一键完成了安装. 对于其它 OS
使用解压 zip
的方式.
下面从安装–>配置(静态资源私服 php 反向代理)–>问题展开吧
安装Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew cleanup brew doctor
安装Nginx
安装
brew install nginx
启动
sudo nginx
停止
sudo nginx -s stop
配置
文件目录
nginx安装文件目录
/usr/local/Cellar/nginx
nginx配置文件目录
/usr/local/etc/nginx
系统hosts位置
/private/etc/hosts
配置nginx
使用多个配置来管理nginx下的多个websites
cd /usr/local/etc/nginx mkdir conf.d vim /usr/local/etc/nginx/nginx.conf
在nginx.conf中进行修改, 大致配置可如下, 详细配置见 官方文档
user your_username staff; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; include conf.d/*.conf; }
注意修改该配置中的 your_username
为你的Mac用户名.
到此父级配置已配置完成, 接下来配置用户希望的功能, 例如静态资源私服或反向代理.
配置自己的静态资源服务器(username.conf), 如下
server { listen 80; server_name resource.com; charset utf-8,gbk; location / { root /Users/username/resource; #index index.html index.htm; autoindex on; autoindex_exact_size on; autoindex_localtime on; } }
配置反向代理, 如下
server { listen 80; server_name app.com; # oauth2的资源服务器 location / { proxy_set_header Host $http_host; proxy_pass http://localhost:8080/resource-app/; } location /resource-app/ { proxy_set_header Host $http_host; proxy_pass http://localhost:8080/resource-app/; } # oauth2的授权服务器 location /actor-app/ { proxy_set_header Host $http_host; proxy_pass http://localhost:8082/actor-app/; } }
配置Php
安装php-fpm
Mac OSX 10.9的系统自带了PHP、php-fpm,省去了安装php-fpm的麻烦。 这里需要简单地修改下php-fpm的配置,否则运行php-fpm会报错。
sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf vim /private/etc/php-fpm.conf
修改php-fpm.conf文件中的error_log项,默认该项被注释掉,这里需要去注释并且修改为error_log = /usr/local/var/log/php-fpm.log。如果不修改该值,运行php-fpm的时候会提示log文件输出路径不存在的错误。
配置hosts
vim /private/etc/hosts
在末尾加入如下代码, 该域名是 nginx
中 server
指定的 server_name
# 针对静态资源私服 127.0.0.1 resource.com # 针对反向代理 127.0.0.1 app.com
配置完毕, 在浏览器中键入 http://resource.com/
可以对指定目录的文件进行浏览,下载; 键入 http://app.com/resource-app
或 http://app.com/actor-app
可分别进入不同的应用.
测试
在 root
根目录中创建文件index.php, 内容如下,
<?php phpinfo(); ?>
启动nginx
sudo nginx
重启nginx
sudo nginx -s reload
停止nginx
sudo nginx -s stop
启动php
sudo php-fpm
在浏览器中输入 http://resource.com/index.php
即可看到php的详细信息.
问题
1.键入 http://resource.com/
, 服务器返回 403
界面
该问题是因为访问权限不够造成, 在 nginx.conf
首行配置即可,
user your_username staff;
2.目录未显示, 只显示index.html页面
该问题是指定站点(website)未启用目录浏览功能, 在指定 server
的 location
节点启用目录浏览功能,如下,
autoindex on; autoindex_exact_size autoindex_localtime on;
参考资料
Setting up Nginx on Your Local System
Mac OSX 10.9搭建nginx+mysql+php-fpm环境
以上所述就是小编给大家介绍的《Nginx配置小记》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。