Nginx/zh-cn

nginx是一个稳定、轻量、高性能的web服务器以及反向代理服务器. 它和Apache、lighttpd都是很好的常用的web服务器.

安装
在安装 包之前，首先请仔细查看Nginx包的USE标记.

扩展USE标记
Nginx使用模块来增加它的功能. 为了简化其模块的维护工作，nginx ebuild使用扩展USE 标记来指明应该安装哪些模块.


 * HTTP related modules can be enabled through the NGINX_MODULES_HTTP variable
 * Mail related modules can be enabled through the NGINX_MODULES_MAIL variable
 * Third party modules can be enabled through the NGINX_ADD_MODULES variable

这些变量需要在 中进行设置. 关于它们的描述可以参看 和.

例如，为了使  模块生效：

Emerge
设置完毕USE标记后，安装：

验证安装
nginx包安装了一个初始化服务的脚本，允许管理员开始、停止或者重新运行该服务. 运行下列命令来开启nginx服务：

To verify that nginx is properly running, point a web browser to the http://localhost address or use a command-line web tool like :

配置
nginx使用文件来管理配置.

单站点访问
下面展示了一个不使用动态特性（如PHP）来进行单站点访问的例子.

多站点访问
可以使用 指令将配置文件分割成多个：

PHP支持
在nginx配置文件中加入下列配置来启用PHP支持. 在这个例子中，nginx通过UNIX套接字与PHP进程通信.

To support this setup, PHP needs to be build with FastCGI Process Manager support, which is handled through the  USE flag:

开启 USE标记后，重新编译PHP：

检查 配置文件并添加下列配置：

在文件 中设置php-fpm的时区. 将下面例子中的 替换为正确的时区信息：

Start the daemon:

Add to the default runlevel:

Reload with changed configuration:

IP地址访问列表
The next example shows how to allow access to a particular URL (in this case ) only to:


 * certain hosts (e.g. 192.0.2.1 127.0.0.1)
 * and IP networks (e.g. 198.51.100.0/24)

基础的授权方式
nginx允许通过验证用户名和密码来限制资源的访问：

The file can be generated using:

TLS支持
十分建议仅支持TLS，并禁用一切已知的不安全密码.

ebuild在 中提供了自签名证书.

正向加密
The diffie-hellman certificate can be created using :

第三方模块
下载第三方模块后，将其移动至. 手动编译选中的Nginx模块，并将下列配置加入 ：

重新编译 nginx 以添加第三方模块：

OpenRC
启动nginx：

停止nginx：

将nginx添加至default runlevel：

重启nginx服务：

故障排除
当遇到问题时，下列命令可以帮助你定位故障.

验证配置
验证正在运行的nginx配置没有故障：

By running with the   option, it will validate the configuration file without actually starting the  daemon.

验证进程正在运行
Check if processes are running:

验证绑定的地址和端口
验证nginx服务正在监听正确的TCP端口（如HTTP使用的80端口，或者HTTPS使用的443端口）：

另请参阅

 * Apache - 最常用的HTTP服务器.
 * Lighttpd - 一个快速、轻量的web服务器.

外部资源

 * http://nginx.org/en/docs/beginners_guide.html - A beginner's guide. Helpful for those who do not know much about.
 * http://nginx.com/resources/admin-guide/ - The administration guide. Helpful for web administrators who have been working in the field.
 * http://wiki.nginx.org/Main - The nginx wiki.
 * https://github.com/h5bp/server-configs-nginx - H5BP nginx config.