Nginx配置小记

栏目: 服务器 · Nginx · 发布时间: 8年前

内容简介: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

在末尾加入如下代码, 该域名是 nginxserver 指定的 server_name

# 针对静态资源私服
127.0.0.1 resource.com
# 针对反向代理
127.0.0.1 app.com

配置完毕, 在浏览器中键入 http://resource.com/ 可以对指定目录的文件进行浏览,下载; 键入 http://app.com/resource-apphttp://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)未启用目录浏览功能, 在指定 serverlocation 节点启用目录浏览功能,如下,

autoindex on;
autoindex_exact_size 
autoindex_localtime on;

参考资料

Setting up Nginx on Your Local System

Nginx文档

Mac OSX 10.9搭建nginx+mysql+php-fpm环境


以上所述就是小编给大家介绍的《Nginx配置小记》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Computers and Intractability

Computers and Intractability

M R Garey、D S Johnson / W. H. Freeman / 1979-4-26 / GBP 53.99

This book's introduction features a humorous story of a man with a line of people behind him, who explains to his boss, "I can't find an efficient algorithm, but neither can all these famous people." ......一起来看看 《Computers and Intractability》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具