假设nginx的目录结构如下所示:
步骤1,
进入conf文件夹,将内部的server配置段提取单独放在一个文件里,存到了conf/vhost下,以方便配置多个虚拟主机。
并在nginx.conf里http配置段内添加了一行 include vhost/*.conf;用来读取vhost下的虚拟主机配置。
编辑后的nginx.conf 配置文件内容如下:
#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;
sendfile on;
keepalive_timeout 65;
#gzip on;
include vhost/*.conf; #加载vhost目录下的虚拟主机配置文件
}
步骤2,
修改vhost 下的虚拟主机配置文件以www.jb200.com为例,在server_name 后添加网站域名,可添加多个,多个之间“空格”分开;
root 节用来配置网站文件路径,路径格式:d:/www/www.jb200.com;
server {
listen 80;
server_name download-bj.tv0714.com; #可配置多个主机头
location / {
root d:/www/www.jb200.com; #网站文件路径
index index.htm index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
附,windows下nginx管理脚本。
Rem 提供Windows下nginx的启动,重启,关闭功能
cls
@ECHO OFF
SET NGINX_PATH=E:
SET NGINX_DIR=E:nginx-0.8.40
color 0a
TITLE Nginx 管理程序
GOTO MENU
:MENU
CLS
ECHO.
ECHO. * * * * Nginx 管理程序 * * *
ECHO. * *
ECHO. * 1 启动Nginx *
ECHO. * *
ECHO. * 2 关闭Nginx *
ECHO. * *
ECHO. * 3 重启Nginx *
ECHO. * *
ECHO. * 4 退 出 *
ECHO. * *
ECHO. * * * * * * * * * * * * * * * * * * * * * * * *
ECHO.
ECHO.请输入选择项目的序号:
set /p ID=
IF "%id%"=="1" GOTO cmd1
IF "%id%"=="2" GOTO cmd2
IF "%id%"=="3" GOTO cmd3
IF "%id%"=="4" EXIT
PAUSE
:cmd1
ECHO.
ECHO.启动Nginx......
IF NOT EXIST %NGINX_DIR%nginx.exe ECHO %NGINX_DIR%nginx.exe不存在
%NGINX_PATH%
cd %NGINX_DIR%
IF EXIST %NGINX_DIR%nginx.exe start %NGINX_DIR%nginx.exe
ECHO.OK
PAUSE
GOTO MENU
:cmd2
ECHO.
ECHO.关闭Nginx......
taskkill /F /IM nginx.exe > nul
ECHO.OK
PAUSE
GOTO MENU
:cmd3
ECHO.
ECHO.关闭Nginx......
taskkill /F /IM nginx.exe > nul
ECHO.OK
GOTO cmd1
GOTO MENU
另外,别名超长的解决办法,需要在http段加入:
server_names_hash_bucket_size 64; #域名长度
如果64个不够,再按32的倍数继续加大;如此便可解决别名超长的问题了。