一、Nginx简介
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru 站点(俄文:Рамблер)开发的.
它也是一种轻量级的Web服务器,可以作为独立的服务器部署网站(类似Tomcat)。它高性能和低消耗内存的结构受到很多大公司青睐,如淘宝网站架设。
先下载直接去官网nginx.org
目前网上liunx 下Nginx教程较多,这里我就不做一说明了。下面简单说下windows下Nginx的配置及部署静态网页。
二、windows下Nginx安装及部署
1.下载windows 版本的Nginx下载完成后,解压缩,运行cmd,使用命令进行操作,不要直接双击nginx.exe,不要直接双击nginx.exe,不要直接双击nginx.exe
2. 使用命令到达nginx的加压缩后的目录
如: cd e:\nginx-1.15.2
3、启动nginx服务,启动时会一闪而过是正常的
start nginx
4、查看任务进程是否存在,dos或打开任务管理器都行
tasklist /fi "imagename eq nginx.exe"
会看到有nginx.exe的进程则为正常
如果都没有可能是启动报错了查看一下日志,在nginx目录中的logs文件夹下error.log是日志文件
常见错误有 :
路径配置问题 (建议使用"/" "\\" ,而不建议使用"",存在 "\t"等类似问题)
nginx文件夹路径含中文问题
5. 配置Nginx
server {
listen 80; //默认端口 可以修改
server_name localhost; //域名或者IP,多个之间用空格隔开
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root old-boy; // 如果在Nginx目录下课直接写。否则可以写成 E:/old-boy
index index.html index.htm;
}
location ~ ^/favicon\.ico$ { //如果有网页的主图片需要这样去引入
root E:/BD/Tool/nginx-1.15.2/imgres;
}
}
当然更详细的还有其他日志的、负载均衡的配置。 此处只是简单说明。
修改完成后保存,使用以下命令检查一下配置文件是否正确,后面是nginx.conf文件的路径,successful就说明正确了
nginx -t -c /nginx-1.15.2/conf/nginx.conf
无错误的画面如下
如果程序没启动就直接start nginx启动,如果已经启动了就使用以下命令重新加载配置文件并重启
nginx -s reload
访问的话:之间访问的 localhost:80/old-boy/view/index.html
6. 优化配置的话可以参考如下(依旧是ngnix.conf):
#user nobody;
#==工作进程数,一般设置为cpu核心数
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 {
#==最大连接数,一般设置为cpu*2048
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表示虚拟主机可以理解为一个站点,可以配置多个server节点搭建多个站点
#每一个请求进来确定使用哪个server由server_name确定
server {
#站点监听端口
listen 80;
#站点访问域名
server_name localhost;
#编码格式,避免url参数乱码
charset utf-8;
#access_log logs/host.access.log main;
#location用来匹配同一域名下多个URI的访问规则
#比如动态资源如何跳转,静态资源如何跳转等
#location后面跟着的/代表匹配规则
location / {
#站点根目录,可以是相对路径,也可以使绝对路径
root html;
#默认主页
index index.html index.htm;
#转发后端站点地址,一般用于做软负载,轮询后端服务器
#proxy_pass http://10.11.12.237:8080;
#拒绝请求,返回403,一般用于某些目录禁止访问
#deny all;
#允许请求
#allow all;
}
#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常用Dos命令
start nginx 启动nginx
tasklist /fi "imagename eq nginx.exe" 查看nginx进程
nginx -s quit 安全关闭
nginx -s stop 强制关闭
nginx -s reload 改变配置文件时,重启nginx工作进程,使配置生效
nginx -s reopen 打开日志文件
nginx -v 查看版本
nginx -h 查看帮助信息
具体的情况还得大家去实测。因为每个环境都不相同。用什么问题大家可以多多交流。
网友评论