`
- 浏览:
93857 次
- 性别:
- 来自:
广州
-
nginx的简介,安装和简单配置
转载请注明原文链接:http://blog.csdn.net/omohe/archive/2009/07/09/4335763.aspx
0. nginx在实际中使用:
之前我们介绍了使用nginx可以完全作为web app server来使用,代替Apache;
另外也可以单单使用nginx作为反向代理服务器来实现Server Cluster。
1. nginx的基础知识:
参考http://en.wikipedia.org/wiki/Nginx
http://wiki.nginx.org/Main
http://www.nginx.org/
简单来说,精华在于:HTTPServer或者reverse proxy
另 外需要注意它和ApacheServer的不同,Unlike traditional servers, Nginx doesn't rely on threads to handle requests. Instead it uses a much more scalable event-driven (asynchronous) architecture. This architecture uses small, but most importantly, predictable amounts of memory under load.
Nginx scales in all directions: from the smallest VPS all the way up to clusters of servers.
另外,更多的功能可以通过模块进行扩展。
2. nginx的安装:
具体可以参考:http://wiki.nginx.org/Main( 支持Windows和Linux等多种OS)
1) 源代码安装很简单:可以按照默认的./configure,然后make和make install
输入./configure --help可以配置需要编译的各种模块,
如果日后需要加入某个模块的话,需要重新编译,具体:
make clean,然后./configure+新的配置选项, make, make install。
难点是如何理解nginx服务器的配置,位于安装目录的nginx.conf文件。
总之需要知道的是:具体如何配置决定于准备使用nginx实现什么功能,例如最简单的单单是个反向代理服务器,或者作为一个http server来使用。各种具体应用和配置可以参看一下:
"Typical Configurations Overview For Nginx HTTP(S) Reverse Proxy/Web Server":
http://blog.kovyrin.net/2006/04/17/typical-nginx-configurations/
更多详情参看关于如何配置的教程:
http://wiki.nginx.org/NginxConfiguration
默认安装到/usr/local/nginx,具体启动的时候需要到bin目录下执行sudo ./nginx;
要终止nginx可以查看位于logs目录下的pid,然后kill pid即可;
2) 如果是二进制包安装的话:
首先搜搜看apt-cache search nginx
然后安装sudo apt-get install nginx
Ubuntu下查看默认安装的位置,可以使用whereis nginx
nginx和Apache类似都是通过module方式对各种功能进行扩展,关于nginx更多信息可以参看如上的链接。
3) Windows下的二进制安装非常简单:
直接下载,解压缩到C:/根目录下即可.
具体参看:http://wiki.nginx.org/NginxInstall
nginx -s [ stop | quit | reopen | reload ]
3. nginx的配置:
上面介绍了,首先nginx和Apache类似通过各种模块module可以对服务器的功能进行丰富的扩展。同样也是类似通过nginx.conf文件可以对进行核心配置或者针对各种模块的配置。
http://wiki.nginx.org/NginxModules
具体如何配置通常还是取决于,准备使用nginx来做什么,几个很好的关于配置的参考资料:
http://blog.kovyrin.net/2006/04/17/typical-nginx-configurations/
http://wiki.nginx.org/NginxConfiguration
0) 首先我们展示一下默认的nginx.conf文件中各个部分:
nginx.conf配置文件中,针对不同的模块使用大括号包括起来,很方便地进行配置;
一个非常好的教程可以参看:
http://wiki.nginx.org/NginxModules
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#这里表示设置该server的root根目录是nginx安装目录的html目录,当然可以设置绝对路径
location / {
root html;
autoindex on; #开启自动列出目录文件功能,如果找不到index页面的话。
index index.html index.htm; #设置默认的首页
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
#这里是一个很好的nginx作为反向代理服务的设置,表示遇到php结尾的,会自动pass给后台侦听的apache或者别的服务器;
#proxy the PHP scripts to Apache listening on 127.0.0.1:80
location ~ \.php$ {
proxy_pass http://127.0.0.1 ;
}
#如果安装了FastCGI,则将其pass给FastCGI,这个说明了nginx本身不包裹FastCGI处理器,而是仅仅通过如下的方式pass给预先安装的FastCGI server,具体PHP的FastCGI如何安装,可以参看相关教程。
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000 ;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
#nginx的虚拟主机情况支持多种类型name-based(多个网站ip相同,域名不同),ip-based(多个网站ip不同)
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
#提供SSL认证的server配置
# HTTPS server
#
#server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
下面我们来简单介绍各种使用nginx的情况:
可以参考http://blog.kovyrin.net/2006/04/17/typical-nginx-configurations/
1)默认安装的nginx配置文件中listen 80;
表示侦听80端口的HTTP请求,如果预先安装了Apache的话,就会占用该端口,从而使得Apache无法使用。
默认的配置提供对各种静态文件的访问;
2)nginx作为反向代理服务器使用
如上面的配置,
#proxy the PHP scripts to Apache listening on 127.0.0.1:80
location ~ \.php$ {
proxy_pass http://127.0.0.1 ;
}
我们可以设置所有对php script脚本的请求,都proxy_pass到后台侦听的web server服务器(例如apache)等。
nginx还提供了一些模块例如Memcached,或者结合Squid等可以实现pass到后台web server相应之后,对返回的数据进行cache,从而提供性能。
这个相当于使用nginx作为apache的前端,可以看看这个教程:
http://sameerparwani.com/posts/nginx-as-a-front-end-to-apache/
常见的情况是,使用nginx直接处理静态的请求响应;对于动态的才pass给服务器,而且对服务器的响应结果进行缓存。
3)nginx做为多台server的负载均衡作用:
http://sameerparwani.com/posts/load-balancing-with-nginx/
4)另外一个常见的应用就是直接使用nginx代替了Apache,使用Linux+Nginx+MyQL+PHP的stack。
这个时候首先需要以FastCGI的方式安装PHP(需要一个FastCGI的process server),然后配置nginx支持PHP。
具体参考相关的专题介绍。
5)更多的配置介绍参看
http://wiki.nginx.org/NginxModules
各个模块的配置和configure教程。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
### Nginx服务器的安装与配置 #### 一、Nginx简介 Nginx是一款高性能的HTTP和反向代理Web服务器,同时也提供了IMAP/POP3/SMTP服务。它以其稳定性、丰富的功能集、简单的配置文件和低资源消耗而闻名。Nginx是由Igor...
总结,Nginx 1.12.2 的安装和配置涉及到多个层面,从基础的系统环境准备到具体的负载均衡策略,每个环节都需要细致入微的调整和测试。理解并熟练掌握这些知识点,对于构建高效、稳定的 Web 服务至关重要。
使用Docker技术安装Nginx及配置简单的负载均衡。 将nginx的配置文件从容器中拷贝到宿主目录 $ mkdir -p /colorfulfrog/nginx/config --先在宿主机创建config目录 $ mkdir -p /colorfulfrog/nginx/html --先在宿主机...
nginx是非常常用的轻量级代理工具,本教程是nginx离线安装教程,并且附带了离线安装所需要的依赖包和安装包。 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 [13],同时也提供了IMAP/POP3/SMTP服务。...
【内网Nginx全套安装环境详解】 在搭建内网Nginx服务器的过程中,我们需要...正确配置和管理Nginx,可以为内网提供高效、安全的Web服务。在实际操作中,应根据具体需求进行调整,确保Nginx与内部网络架构的无缝集成。
5. 编译安装:执行`make`和`make install`来编译和安装Nginx。 6. 启动服务:最后,需要设置Nginx服务启动脚本并启动服务。 这个过程繁琐且容易出错,尤其对于不熟悉Linux系统的用户来说。 三、自动化安装脚本 ...
在“nginx执行make命令编译成功之后的界面.png”和“nginx执行make install安装完成之后界面.png”中,你应该能看到编译和安装过程的截图。 安装完成后,创建或修改Nginx的配置文件(如`nginx.conf`),在http或...
- **http块**:包含服务器配置和代理配置等,影响HTTP/HTTPS的处理。 ##### 3.2 示例配置文件 下面是一个简单的Nginx配置文件示例: ```nginx user www-data; worker_processes auto; pid /run/nginx.pid; ...
《FastDFS分布式存储服务器与Nginx安装配置详解》 ...通过合理的配置和优化,可以满足不同规模业务的需求。在实际应用中,我们还应注意监控系统性能,定期备份数据,以确保数据的安全性和可用性。
它以其稳定性、丰富的功能集、简单的配置文件和低资源消耗而闻名。本文将详细介绍如何在Linux环境下安装Nginx,并进行基本的配置。 #### 二、环境准备 本次安装使用的是openSUSE操作系统。在开始安装之前,我们需要...
5. **验证配置**: 创建一个简单的HTML文件(如1.html),放置于设置的静态文件目录下,并在浏览器中访问`http://localhost/1.html`,若能正常显示,则表明Nginx已正确配置。 #### PHP配置步骤 **二、安装与配置PHP...
总结来说,本Nginx源码安装手册详细介绍了在生产环境下安装Nginx的完整过程,包括环境准备、下载源码、编译配置、模块选择和自启动脚本的配置。对于希望部署稳定且可控的Nginx服务器的用户,特别是那些对软件的安全...
本资源是专门针对本博文的, nginx的反向代理的简单配置文件,给大家使用时做参考,拿走不谢,怎么一定要50字呢?
本教程将详细阐述如何在Linux系统上安装和配置Nginx以及PHP,以实现一个能够处理PHP脚本的Web服务器。 **Nginx简介** Nginx是一款高性能的HTTP和反向代理服务器,以其高并发、低内存占用和稳定性的特点而备受青睐。...
Nginx安装及配置是保证其稳定运行和功能实现的关键环节,下面详细解析nginx服务器的安装及配置文件。 **1. Nginx的安装** 首先,在安装Nginx之前,需要确保系统已经安装了必要的依赖包。以CentOS 6.2 x86_64系统为...
安装完Nginx后,我们需要配置它的配置文件`nginx.conf`。这个文件通常位于`nginx`安装目录下的`conf`子目录中。在这个文件中,我们需要定义服务器块来监听HTTP请求,并指定PHP处理器的位置。例如: ```nginx server...
**Nginx安装和配置手册** Nginx是一款高性能、轻量级的Web服务器和反向代理服务器,广泛应用于互联网领域,尤其在处理高并发连接方面表现出色。本手册将详细讲解Nginx的安装过程以及基本配置,帮助你更好地理解和...
以下是在 Linux 系统下(以 CentOS 为例)安装和配置 Nginx 的详细步骤: #### 1. 安装依赖 在安装 Nginx 之前,需要确保已经安装了一些必要的依赖包,包括 GCC 编译器、PCRE 库、Zlib 库和 OpenSSL 库等。这些...
### 在Windows中对Nginx的安装、配置和使用 #### 一、Nginx简介与特点 Nginx是一款高性能的HTTP服务器和反向代理服务器,它以其稳定性、丰富的功能集、简单的配置文件和较低的内存消耗而闻名。与传统的Web服务器...