文档库 最新最全的文档下载
当前位置:文档库 › htaccess示例-多虚拟主机

htaccess示例-多虚拟主机

htaccess示例-多虚拟主机
htaccess示例-多虚拟主机

htaccess示例:多虚拟主机配置

1.概况

Apache的.htaccess功能强大,但是用法也比较奇特,因此每次使用都是查遍互联网。为了同时给服务器配置多个虚拟主机,以及给某一域名配置多个二级域名,可以在htaccess 中创建多个VitualHost段,但是数量多时这样操作就太麻烦,而且要重启Apache。为了配置简单,可以使用正则表达式匹配,并且为了方便增删二级域名将域名和目录对写到单独的vhost文件,便于修改。

2.配置多个域名虚拟主机

需求:

·使用本机地址127.0.0.1访问时进入的服务器管理页面,包括phpMyAdmin等;

·使用域名https://www.wendangku.net/doc/799449510.html,访问时,进入应用程序一。

配置:

ServerName localhost

DocumentRoot "%APMXE%/htdocs"

Options FollowSymLinks

IndexOptions FancyIndexing FoldersFirst NameWidth=* VersionSort XHTML

AllowOverride All

Order allow,deny

Allow from all

ServerName https://www.wendangku.net/doc/799449510.html,

ServerAlias https://www.wendangku.net/doc/799449510.html,

DocumentRoot "%APMXE%/htdocs/application1"

Options FollowSymLinks

IndexOptions FancyIndexing FoldersFirst NameWidth=* VersionSort XHTML

AllowOverride All

Order allow,deny

Allow from all

说明:

第一段VirtualHost中的IP地址指明了客户端IP,%APMXE%为webroot所在目录。使用ServerName指定了入口域名为localhost,这样只有本机能够进入管理界面。

第二段VirtualHost接受所有IP地址访问,并且同时域名https://www.wendangku.net/doc/799449510.html,和https://www.wendangku.net/doc/799449510.html,两个域名访问。DocumentRoot指明了应用程序所在目录,访问以上域名实际上是访问了Application1目录中的文件。

3.配置多个二级域名

需求:

·使用https://www.wendangku.net/doc/799449510.html,、https://www.wendangku.net/doc/799449510.html,…不同域名访问不同目录中的程序

·便于动态增删,不同经常修改配置和重启Apache

htaccess配置:

ServerName https://www.wendangku.net/doc/799449510.html,

ServerAlias https://www.wendangku.net/doc/799449510.html,

DocumentRoot "%APMXE%/htdocs/application2 "

Options FollowSymLinks

IndexOptions FancyIndexing FoldersFirst NameWidth=* VersionSort XHTML

AllowOverride All

Order allow,deny

Allow from all

RewriteEngine on

RewriteMap vhost txt:C:/apmxe/etc/vhost.map

RewriteMap lowercase int:tolower

RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$

RewriteCond ${vhost:%1} ^(.*)$

RewriteRule ^/(.*)$ %1/$1

vhost.map文件

https://www.wendangku.net/doc/799449510.html, C:/apmxe/htdocs/a

https://www.wendangku.net/doc/799449510.html, C:/apmxe/htdocs/doc

https://www.wendangku.net/doc/799449510.html, C:/apmxe/htdocs/ec

https://www.wendangku.net/doc/799449510.html, C:/apmxe/htdocs/test

说明:

VirtualHost中前半部分与上文一致,但是后半部分使用了RewriteEngine。通过将vhost.map文件中的域名、目录读取到vhost变量,并在RewriteCond中用正则表达式匹配二级域名,并重写到相应的目录。

4.总结

编写htaccess虽是小事,但是经常要花费大量时间进行调试。关于文档:Apache官网中自带的文档是唯一的标准,值得细细研读,其他搜索到的资料大多是示例。关于调试:可以单独配置测试用的环境,结合文档和资料尝试,重定向到php脚本之类,把HTTP GET/POST信息输出到网页。

nginx设置rewrite规则

Nginx 设置rewrite规则 Windows下环境为wamp ,在wamp 环境下,设置rewite规则时,很是简单,只需要打开Apache配置中的rewrite规则,项目中使用rewrite规则时只需创建.htaccess文件,在文件中编写规则,Apache会自动进行解析,但是在linux下则有些不一样。 Linux下环境若是lamp,则和wamp下是相同的,但当环境为lnmp时,需要注意进行如下配置方法: 根据所安装的环境情况,如果环境是lnmp集成环境,在配置rewrite规则时,因为集成环境,在安装完毕后,在安装的目录/usr/local/nginx/conf下,会生成一个文件“wordparss”,这个文件中是专门用于写rewrite规则所用,你可以在这个文件中书写rewrite规则,nginx 的rewrite规则与Apache的规则基本是相同的,只是在文件中书写的方法不同,wordpaess 问件中默认是有一个规则的,如: 利用location加载访问路径,“/”,指代由访问路径的根目录开始, 用if对加载的路径$request_filename 进行验证: 1 、-f 和!-f 用来判断文件是否存在 2、-d 和!-d 用来判断目录是否存在 3 、-e 和!-e 用来判断文件或目录是否存在 4、-x 和!-x 用来判断文件是否可执行 Flag标记: 1、last 相当于Apache里的[L]标记,表示完成rewrite 2、break 终止匹配, 不再匹配后面的规则 3、redirect 返回302临时重定向地址栏会显示跳转后的地址 4、permanent 返回301永久重定向地址栏会显示跳转后的地址 因为在lnmp集成环境下要配置虚拟域名是可以进行自动生成的,生成后会在/usr/local/nginx/conf/vhost 下生成一个以虚拟域名的名字的文件,如:lin_hp.its.conf,而所对应的rewrite规则最好在与域名相对应的配置文件中进行配置,这样不会说,如果有多个域名时,他们所对应的rewrite规则不同,在公共的wordpress文件中配置引起冲突,所配置的方法与在wprdpress文件中是相同的,如:

nginx安装手册

Nginx安装手册 1nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。 ?gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++ ?PCRE PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。yum install -y pcre pcre-devel 注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。 ?zlib zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。 yum install -y zlib zlib-devel ?openssl OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。 nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux 安装openssl库。 yum install -y openssl openssl-devel 2编译安装 将nginx-1.8.0.tar.gz拷贝至linux服务器。 解压: tar -zxvf nginx-1.8.0.tar.gz cd nginx-1.8.0 1、configure ./configure --help查询详细参数(参考本教程附录部分:nginx编译参数) 参数设置如下: ./configure \

nginx配置解析详解(一)

nginx配置解析详解(一) 现在针对nginx源码分析的blog和文章已经很多了,之前我也看过不少,大家的分析都很不错。太多重复的内容就不写了,主要想针对在我分析代码和查阅blog的过程中,发现的一些比较晦涩或者某些细节有待展开讨论的地方,给出我的自己理解和看法,希望跟大家交流和学习。 使用的nginx版本是nginx-1.0.6,我最开始看的代码是0.7.62,新的版本在功能和稳定性上做了很多的工作。在分析的时候,我尽量简单明了,不太重要的地方一带而过,具体地大家可以去读代码。相对复杂或者晦涩的地方,将详细展开。 首先我们从配置文件开始,下面的分析是建立在网友对nginx的配置文件结构有大概熟悉为前提,这样才可以很好的理解代码。这里有必要提醒一点:原始代码目录中 ngx_modules这个结构,是找不到它的定义和初始化,要看到它,你必须执行configure,make,在原来的代码目录下会出现一个objs文件夹,里面的3个文件ngx_auto_config.h,ngx_auto_headers.h,ngx_modules.c,需要在建source insight工程时也包含进去,这样有利于我们把握整个代码结构。有意思的是,nginx的configure文件是作者手工写的,里面有许多管理代码工程的方法,有时间的话,也是值得学习下的。 1.ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle); 配置文件的解析相关的处理主要在ngx_init_cycle函数中被调用。既然如此,我们就先说说ngx_init_cycle函数吧。 它需要一个参数类型为ngx_cycle_t *,返回值也是一个ngx_cycle_t*,与此同时我们注意到参数名为old_cycle,那么这个函数的作用是啥呢?很明显是由old得到一个new。其中ngx_cycle_t的结构保存一些全局的配置和信息。 这个函数具体作用将在reconfig(重读配置文件)的时候得到体现,可以理解为old_cycle 是当前正在使用的配置信息,当配置文件做了某些修改之后,ngx_init_cycle通过old_cycle 中的一些数据,对new_cycle进行一些设置,在经过进一步的配置解析之后,就可以得到一个new cycle。 2.char *ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename) 当我们使用sourceinsight查看这个函数的调用情况时,会发现调用它的地方很多。其实,入口点就在ngx_init_cycle中对ngx_conf_parse调用,后面的所有的调用可以看作是在此之后的递归调用。为什么会是这个样子呢?原因在于nginx是一边读取配置信息,一边解析执行相关的处理,具体一点讲,就是“读一行,执行一行”,一行的定义在这里是指以分号或者是“{”和“}”等结尾的一行,例如:我们解析到http {},我们就调用针对httpblock的处理,在处理的时候我们又会碰到server {},自然就会调用server block的处理。。。以此类推!。

nginx虚拟主机和文件服务器的配置

Nginx文件服务器和虚拟主机的配置 https://www.wendangku.net/doc/799449510.html,的配置文件: 1.游戏服务器: server { listen 80; server_name https://www.wendangku.net/doc/799449510.html,; index index.html index.htm index.php; root /data/web/fc/game3w/releases1/public; location ~ .*\.php$ { include fcgi.conf; fastcgi_pass 127.0.0.1:10080; fastcgi_index index.php; expires off; } access_log /data/logs/https://www.wendangku.net/doc/799449510.html,.log access; } 2.客户端的配置: server { listen 80; server_name https://www.wendangku.net/doc/799449510.html,; index index.html index.htm index.php; root /data/web/fc/resource; charset utf-8; #expires 2h; location ~* .svn$ { return 404; } location ~ .*\.swf$ { expires 365d; } location ~ .*\.css$ { expires 365d; } location ~ .*\.xml$ { expires 365d;

} location ~ .*\.js$ { expires 365d; } location ~ .*\.jpg$ { expires 365d; } location ~ .*\.gif$ { expires 365d; } location ~ .*\.png$ { expires 365d; } location ~ .*\.mp3$ { expires 365d; } location ~ .*\.game$ { expires 365d; } location ~ .*\.lib$ { expires 365d; } access_log off; } 3.文件服务器的配置: server { listen 9000; server_name 192.168.26.8; location / { autoindex on; autoindex_exact_size off; autoindex_localtime on; index index.html index.htm index.php; root /data/server/trunk/bin/logs/; allow all; } }

Nginx系列讲解

Nginx系列 一信号与配置 一、Nginx与信号 Nginx支持平滑重启,相比于Apache,修改了配置文件后可以不需要先停止程序,再重新启动。 1、启动 nginx –c nginx.conf 其中,-c nginx.conf可以省略不写。如果省略,则默认加载安装目录下的conf子目录中的nginx.conf。 2、停止 停止的方式有很多种,kill时传入不同的信号来结束或者平滑重启。Nginx的进程号记录在Pid文件中,Pid文件的位置可以在conf/nginx.conf中找到。如下图: 当然,也可以根据 ps –ef | grep nginx 来查找Nginx的进程号。我们可以通过kill命令来结束Nginx。 从容停止Nginx: kill –QUIT Nginx进程ID 或 kill – QUIT /usr/local/nginx/logs/nginx.pid 快速停止Nginx: kill –TERM Nginx进程ID 或

kill – TERM /usr/local/nginx/logs/nginx.pid 或 kill –INT Nginx进程ID 或 kill – INT /usr/local/nginx/logs/nginx.pid 强制停止Nginx: kill –9 Nginx进程ID 或 kill -9 /usr/local/nginx/logs/nginx.pid 或 pkill -9 nginx 3、重启 如果修改了Nginx的配置文件,想要重启Nginx。同样可以使用kill命令来传递信号。不过,在此之前,我强烈建议先检查并测试配置文件是否正确。 测试配置文件: nginx –t –c conf/nginx.conf 若提示unknow directive *** in conf/nginx.conf:55. Configuration file conf/nginx.conf test failed,则证明在第55行的***是非法的,需要修改。 若提示the configuration file conf/nginx.conf syntax is ok. Configuration file conf/nginx.conf test is successful,则证明配置文件测试通过,可以重启Nginx了。 平滑重启Nginx: kill –HUP Nginx进程ID 或

nginx负载均衡master配置文件nginx.conf

#user nobody; worker_processes auto; #error_log logs/error.log; error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; worker_rlimit_nofile 100000; events { use epoll; worker_connections 204800; } http { ## 用户的IP 地址$binary_remote_addr 作为Key,每个IP 地址最多有50 个并发连接 ## 你想开几千个连接刷死我?超过50 个连接,直接返回503 错误给你,根本不处理你的请求了 limit_conn_zone $binary_remote_addr zone=TotalConnLimitZone:10m ; #limit_conn TotalConnLimitZone 50; limit_conn TotalConnLimitZone 500; limit_conn_log_level notice; ## 用户的IP 地址$binary_remote_addr 作为Key,每个IP 地址每分钟处理50 个请求## 你想用程序每秒几百次的刷我,没戏,再快了就不处理了,直接返回503 错误给你 #limit_req_zone $binary_remote_addr zone=ConnLimitZone:10m rate=200r/m; limit_req_zone $binary_remote_addr zone=ConnLimitZone:10m rate=2000r/m; limit_req_log_level notice; #include mime.types; #default_type application/octet-stream; #access_log logs/access.log main; #server_tokens off; #sendfile on; #tcp_nopush on; #keepalive_timeout 0; #keepalive_timeout 65; server_tokens off; include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" '

nginx配置方案

WEB服务器安装方案 平台搭建环境: CentOS5.2 32/x86_64 GNU/Linux (32/64操作系统均通过,推荐使用64位操作系统) 一、系统安装 1. 系统分区建议 /boot 256M swap 2GB / 20GB /usr 40GB (用于安装软件) /data 剩余所有空间. 二、编译安装基本环境 1. 安装准备 1.1 系统约定 软件源代码包存放位置 /usr/local/src 源码包编译安装位置(prefix) /usr/local/software_ name 脚本以及维护程序存放位置 /usr/local/sbin MySQL 数据库位置 /data/mysql/(可按情况设置) 网站根目录/data/www/htdocs(可按情况设置) 网站日志根目录/data/www/logs(可按情况设置) Nginx运行账户www 1.2创建网站账号及相关存放目录 /usr/sbin/groupadd www /usr/sbin/useradd -g www www mkdir -p /data/www/html mkdir -p /data/www/log chown -R www:www /data/www/html chown -R www:www /data/www/log 1.3系统环境部署及调整 # tail -n100 /var/log/messages (检查有无系统级错误信息) # dmesg (检查硬件设备是否有错误信息) # ifconfig(检查网卡设置是否正确) # ping 192.168.95.1 (检查网络是否正常) install_software_name.sh //存放编译参数脚本习惯将所有编译脚本存放在install_software_name.sh便于升级和更新软件. 1.4定时校正服务器时钟,定时与中国国家授时中心授时服务器同步 #crontab -e

nginx中文解释

Nginx 常见应用技术指南[Nginx Tips] 第二版 作者:NetSeek https://www.wendangku.net/doc/799449510.html, (I T运维专家网|集群架构|性能调优) 欢迎转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明. 首发时间: 2008-11-25 更新时间:2009-1-14 目录 一、Nginx 基础知识 二、Nginx 安装及调试 三、Nginx Rewrite 四、Nginx Redirect 五、Nginx 目录自动加斜线: 六、Nginx Location 七、Nginx expires 八、Nginx 防盗链 九、Nginx 访问控制 十、Nginx日志处理 十一、Nginx Cache 十二、Nginx 负载均衡 十三、Nginx简单优化 十四、如何构建高性能的LEMP环境 十五、Nginx服务监控 十六、常见问题与错误处理. 十七、相关资源下载 【前言】: 编写此技术指南在于推广普及NGINX在国内的使用,更方便的帮助大家了解和掌握NGINX 的一些使用技巧。本指南很多技巧来自于网络和工作中或网络上朋友们问我的问题.在此对 网络上愿意分享的朋友们表示感谢和致意!欢迎大家和我一起丰富本技术指南提出更好的建 议!请朋友们关注: https://www.wendangku.net/doc/799449510.html, 技术分享社区! 互想学习共同进步! 一、Nginx 基础知识 1、简介 Nginx ("engine x") 是一个高性能的HTTP 和反向代理服务器,也是一个IMAP/POP3/SMTP 代理服 务器。Nginx 是由Igor Sysoev 为俄罗斯访问量第二的Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。 更多的请见官方wiki: https://www.wendangku.net/doc/799449510.html,/ 2、Nginx的优点 nginx做为HTTP服务器,有以下几项基本特性: 1) 处理静态文件,索引文件以及自动索引;打开文件描述符缓冲. 2) 无缓存的反向代理加速,简单的负载均衡和容错. 3) FastCGI,简单的负载均衡和容错. 4) 模块化的结构。包括gzipping, byte ranges, chunked responses, 以及SSI-filter等filter。 如果由FastCGI或其它代理服务器处理单页中存在的多个SSI,则这项处理可以并行运行,而不 需要相互等待。 5) 支持SSL 和 TLS SNI. Nginx专为性能优化而开发,性能是其最重要的考量, 实现上非常注重效率。它支持内核Poll模型, 能经受高负载的考验, 有报告表明能支持高达50,000 个并发连接数。 Nginx具有很高的稳定性。其它HTTP服务器,当遇到访问的峰值,或者有人恶意发起慢速连接时, 也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器。例如当前apache一旦上到200个以上进程,web响应速度就明显非常缓慢了。而Nginx采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。nginx官方表示保持10,000个没有活动的连接,它只占2.5M内存,所以类似DOS这 样的攻击对nginx来说基本上是毫无用处的。就稳定性而言, nginx比lighthttpd更胜一筹。 Nginx支持热部署。它的启动特别容易, 并且几乎可以做到7*24不间断运行,即使运行数个月也不 需要重新启动。你还能够在不间断服务的情况下,对软件版本进行进行升级。 Nginx采用master-slave模型, 能够充分利用SMP的优势,且能够减少工作进程在磁盘I/O的阻 塞延迟。当采用select()/poll()调用时,还可以限制每个进程的连接数。 Nginx代码质量非常高,代码很规范,手法成熟,模块扩展也很容易。特别值得一提的是强大

[全]Nginx配置文件上下文结构

Nginx配置文件上下文结构 1.Nginx配置文件上下文结构个Nginx的功能模块包含 系列的命令(cmd)以及与命令对应的处理函数(cmd→handler)。而Nginx 根据配置文件中的配 置指令就知道对应到哪个模块的哪个命令,然后调用命令对应的处理函数来处理。 一个Nginx配置文件包含若干配置项,每个配置项由配置指令和指令参数两部分组成,3个简单的Nginx配置项 Nginx配置文件中的配置指令如果包含空格,就需要用单引号或双引号引起来。指令参数如果 是由简单的字符串构成的,简单配置项就需要以分号结束;指令参数如果是复杂的多行字符串, 配置项就需要用花括号“{}”括起来。 Nginx配置项的具体功能与其所处的作用域(上下文、配置块)是强相关的。Nginx指令的作 用域配置块大致有5种,它们之间的层次关系。

5种Nginx指令的作用和它们之间的层次关系一个标准的Nginx配置文件的上下文结构如 下:

... #main全局配置块,例如工作进程数 events { #events事件处理模式配置块,例如IO读写模式、连接数等... } http #HTTP协议配置块 { ... #HTTP协议的全局配置块

server #server虚拟服务器配置块 一 { ... #server全局块location [PATTERN] #location路由规则配置块一 { ... } location [PATTERN] #location路由规则配置块二 { ... } } server #server虚拟服务器配置块二 { ...

nginx配置详解

详情看配置文件 #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 { includemime.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; send; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on;

## 集群中的所有后台服务器的配置信息以及负责均衡 upstream local_tomcat { 名字local_tomcat很重要需要对应下面proxy_pass的地址一样 server localhost:8080; server localhost:8111; # server 192.168.0.11:8080 weight=10; 数值越大表示级别越高请求优先使用 # server 192.168.0.11:8081 weight=10; #server 192.168.0.12:8080 weight=10; # server 192.168.0.12:8081 weight=10; #server 192.168.0.13:8080 weight=10; #server 192.168.0.13:8081 weight=10; } server { #listen:表示当前的代理服务器监听的端口,默认的是监听80端口。注意,如果我们配置了多个server,这个listen要配置不一样,不然就不能确定转到哪里去了。 #server_name:表示监听到之后需要转到哪里去,这时我们直接转到本地,这时是直接到nginx文件夹内。 #location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里 #root:里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文件伺服很有用。

Nginx配置文件详细说明

Nginx配置文件详细说明 在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络. #运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; #工作模式及连接数上限 events { use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能 worker_connections 1024;#单个后台worker process进程的最大并发链接数 # multi_accept on; } #设定http服务器,利用它的反向代理功能提供负载均衡支持 http { #设定mime类型,类型由mime.type文件定义 include /etc/nginx/mime.types; default_type application/octet-stream; #设定日志格式 access_log /var/log/nginx/access.log; #sendfile 指令指定nginx 是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用, #必须设为on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的uptime. sendfile on; #tcp_nopush on; #连接超时时间 #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; #开启gzip压缩 gzip on; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; #设定请求缓冲 client_header_buffer_size 1k; large_client_header_buffers 4 4k;

Nginx 配置文件nginx.conf的完整配置说明

#用户用户组 user www www; #工作进程,根据硬件调整,有人说几核cpu,就配几个,我觉得可以多一点 worker_processes 5; #错误日志 error_log logs/error.log; #pid文件位置 pid logs/nginx.pid; worker_rlimit_nofile 8192; events { #工作进程的最大连接数量,根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行 worker_connections 4096; } http { include conf/mime.types; #反向代理配置,可以打开proxy.conf看看 include /etc/nginx/proxy.conf; #fastcgi配置,可以打开fastcgi.conf看看 include /etc/nginx/fastcgi.conf; default_type application/octet-stream; #日志的格式 log_format main '$remote_addr - $remote_user [$time_local] $status ' '"$request" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; #访问日志 access_log logs/access.log main; sendfile on; tcp_nopush on;

#根据实际情况调整,如果server很多,就调大一点 server_names_hash_bucket_size 128; # this seems to be required for some vhosts #这个例子是fastcgi的例子,如果用fastcgi就要仔细看 server { # php/fastcgi listen 80; #域名,可以有多个 server_name https://www.wendangku.net/doc/799449510.html, https://www.wendangku.net/doc/799449510.html,; #访问日志,和上面的级别不一样,应该是下级的覆盖上级的 access_log logs/domain1.access.log main; root html; location / { index index.html index.htm index.php; } #所有php后缀的,都通过fastcgi发送到1025端口上 #上面include的fastcgi.conf在此应该是有作用,如果你不include,那么就把fastcgi.conf的配置项放在这个下面。 location ~ .php$ { fastcgi_pass 127.0.0.1:1025; } } #这个是反向代理的例子 server { # simple reverse-proxy listen 80; server_name https://www.wendangku.net/doc/799449510.html, https://www.wendangku.net/doc/799449510.html,; access_log logs/domain2.access.log main; #静态文件,nginx自己处理 location ~ ^/(images|javascript|js|css|flash|media|static)/ {

Nginx配置文件(nginx.conf)配置详解

Nginx配置文件(nginx.conf)配置详解 usernginxnginx ; Nginx用户及组:用户组。window下不指定 worker_processes 8; 工作进程:数目。根据硬件调整,通常等于CPU数量或者2倍于CPU。 error_log logs/error.log; error_log logs/error.log notice; error_log logs/error.log info; 错误日志:存放路径。 pid logs/nginx.pid; pid(进程标识符):存放路径。 worker_rlimit_nofile 204800; 指定进程可以打开的最大描述符:数目。 这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。 现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。 这是因为nginx调度时分配请求到进程并不是那么的均衡,所以假如填写10240,总并发量达到3-4万时就有进程可能超过10240了,这时会返回502错误。 events { useepoll; 使用epoll的I/O 模型。linux建议epoll,FreeBSD建议采用kqueue,window下不指定。 补充说明: 与apache相类,nginx针对不同的操作系统,有不同的事件模型 A)标准事件模型 Select、poll属于标准事件模型,如果当前系统不存在更有效的方法,nginx会选择select或poll B)高效事件模型 Kqueue:使用于FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 和 MacOS X.使用双处理器的MacOS X 系统使用kqueue可能会造成内核崩溃。 Epoll:使用于Linux内核2.6版本及以后的系统。 /dev/poll:使用于Solaris 7 11/99+,HP/UX 11.22+ (eventport),IRIX 6.5.15+ 和 Tru64 UNIX 5.1A+。Eventport:使用于Solaris 10。为了防止出现内核崩溃的问题,有必要安装安全补丁。 worker_connections 204800; 没个工作进程的最大连接数量。根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行。每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为。 worker_processes*worker_connections

项目上线nginx详细配置

通过nginx+uwsgi部署django应用在ubuntu 安装python3-pip Sudo apt-get install python3-pip 安装虚拟环境和虚拟环境管理包 Sudo pip3 install virtualenv (报错的话需要把pip也安装一下) Sudo pip3 virtualenvwrapper 在~/.bashrc 添加 /home/liunx/.virtualenvs/mybaby/bin/python3 export WORKON_HOME=~/Envs source /usr/local/bin/virtualenvwrap per.sh source .bashrc 创建虚拟环境:mkvirtualenv EduOnline –p /usr /bin/python3

虚拟环境当中安装项目所依赖的包(mysqlclient会出一个问题,需要首先安装下面这个包) 我们可以通过 pip freeze > requirements.txt 将win dows的虚拟环境安装包相应信息导出来移动到ubuntu Pip3 install -r requirements.txt 在安装过程中my sqlclient会报错,按照下面两步走 sudo apt-get install libmysqlclient-dev pip install mysqlclient 数据库: Sudo apt-get install mysql-server 进入数据库创建自己的账户并且分配所有的权限,并且刷新权限,在配置文件当中bind 0.0.0.0 在ubuntu 当中创建我们用的数据库 eduonline,通 过windows的Navicat将windows数据库中的数据 传输到ubuntu当中 将我们的项目文件夹拖入到我们的虚拟环境当中,进入项目python manage.py runserver保证能拉起项目

Nginx负载均衡的详细配置及使用案例详解

Nginx负载均衡的详细配置及使用案例详解. 技术无止境, 我们仍需努力! 1,话不多说, 这里我们来说下很重要的负载均衡, 那么什么是负载均衡呢? 由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升时,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。 针对此情况而衍生出来的一种廉价有效透明的方法以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的技术就是负载均衡(Load Balance)。 2, 负载均衡的种类 1)一种是通过硬件来进行解决,常见的硬件有NetScaler、F5、Radware 和Array等商用的负载均衡器,但是它们是比较昂贵的 2)一种是通过软件来进行解决的,常见的软件有LVS、Nginx、apache 等,它们是基于Linux系统并且开源的负载均衡策略.

3, 这里我们只来说Nginx(其他的大家有兴趣可以自行查阅相关文档) Nginx(发音同engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev(伊戈尔·西索夫)所开发,供俄国大型的入口网站及搜索引擎Rambler(漫步者)(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、腾讯等。 优点: 1:可运行linux,并有 Windows 移植版。 2:在高连接并发的情况下,Nginx是Apache服务器不错的替代品Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达50,000 个并发连接数的响应 4, 创建两台Nginx服务器 由于自己在自己电脑上搭建, 所以现在只模拟搭建两台Nginx服务器. 负载均衡的功能: 转发 故障移除

nginx1.8安装配置及优化(修改版)

Nginx1.8安装配置 1.创建www用户和用户组 groupadd www useradd -s /sbin/nologin -g www www 2.安装pcre软件包 tar zxvf pcre-8.12.tar.gz -C /usr/src/ cd /usr/src/pcre-8.12/ ./configure && make && make install ldconfig 3.解压、配置、编译、安装nginx [root@localhost opt]# tar -zxvf nginx-1.8.0.tar.gz [root@localhost opt]# cd nginx-1.8.0 [root@localhost nginx-1.8.0]#./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_realip_module --with-http_gzip_static_module --with-pcre 这一步安装了2个包 yum -y install pcre-devel yum install -y zlib-devel [root@localhost nginx-1.8.0]# make && make install 6.编辑nginx.conf配置文件 vim /usr/local/nginx/conf/nginx.conf 文件详见附件。

7.创建目录并修改权限 注:html文件可以作为nginx缓存的根路径。可根据实际情况修改。mkdir -p /home/www/log mkdir -p /home/www/pid mkdir -p /home/www/html chown -R www:www /home/www/log chown -R www:www /home/www/pid chown -R www:www /home/www/html chown -R www:www /usr/local/nginx 8.测试启动nginx服务 ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx nginx -t nginx -c /usr/local/nginx/conf/nginx.conf ps -aux | grep nginx netstat -anptu | grep 80 9.编写nginx启动脚本 vim /etc/init.d/nginx 文件详见附件 10.添加nginx系统服务 chmod a+x /etc/init.d/nginx chkconfig --add nginx chkconfig --level 2345 nginx on chkconfig --list | grep nginx

Nginx+pcre部署及配置步骤

安装 在Linux 下安装Nginx 为了确保能在Nginx 中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有PCRE(Perl Compatible Regular Expressions)包。您可以到ftp://https://www.wendangku.net/doc/799449510.html,/pub/software/programming/pcre/ 下载最新的PCRE 源码包,使用下面命令下载编译和安装PCRE 包: # wget ftp://https://www.wendangku.net/doc/799449510.html,/pub/soft ... cre/pcre-7.7.tar.gz # tar zxvf pcre-7.7.tar.gz # cd pcre-7.7 # ./configure # make # make install 接下来安装Nginx,Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把Nginx 安装到/opt/nginx 目录下的详细步骤: http://sysoev.ru/nginx/nginx-0.7.61.tar.gz # wget http://sysoev.ru/nginx/nginx-0.6.31.tar.gz # tar zxvf nginx-0.6.31.tar.gz # cd nginx-0.6.31 # ./configure --with-http_stub_status_module --prefix=/opt/nginx # make # make install 其中参数--with-http_stub_status_module 是为了启用nginx 的NginxStatus 功能,用来监控Nginx 的当前状态。 安装成功后/opt/nginx 目录下有四个子目录分别是:conf、html、logs、sbin 。其中Nginx 的配置文件存放于conf/nginx.conf,Nginx 只有一个程序文件位于sbin 目录下的nginx 文件。确保系统的80端口没被其他程序占用,运行sbin/nginx 命令来启动Nginx,打开浏览器访问此机器的IP,如果浏览器出现Welcome to nginx! 则表示Nginx 已经安装并运行成功。 常用的Nginx 参数和控制 程序运行参数 Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对Nginx 进程本身进行控制的。Nginx 的参数包括有如下几个:-c :使用指定的配置文件而不是conf 目录下的nginx.conf 。

相关文档