ngnix入门配置
文件1.首先到ngnix下载页面下载你操作系统对应的ngnix压缩包 http://nginx.org/en/download.html
博主我是window10操作系统
上面是我解压之后放的路径。
2.下载之后呢,需要配置一下你的nginx的文件了,找到conf目录下的nginx.conf文件打开编辑
因为本文只是入门,最终目标是能在本地浏览器以服务器打开方式查看我们的静态文件。(localhost:90/index.html,而不是file://C:path/index.html)
配置文件主要是二个地方需要修改一下
#user nobody; #指定nginx进程数 worker_processes 1; #全局错误日志以及pid文件 #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服务器,利用他的反向代理功能提供负载均衡支持 http { #设定mime类型,类型由mime.type文件定义 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 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用, sendfile on; #tcp_nopush on; #连接超时时间 #keepalive_timeout 0; keepalive_timeout 65; #开启gzip压缩 #gzip on; server { listen 90; server_name xc.elianweb.com; #charset koi8-r; #access_log logs/host.access.log main; location / { root C:/elianWebSvn/elianWeb/elianWeb/webNewLTE; index index.html; } #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; #} # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # 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; #} } # 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; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
上面需要修改的是listen 和 location /{ root }
listen修改原因是怕和你本地的iis服务器端口冲突,所以建议你改一下
location /{ root } 修改的是你的项目所在的路径,然后浏览器查看的路径是以你这个root 的路径为基础的,比如: 我上面写的路径
C:/elianWebSvn/elianWeb/elianWeb/webNewLTE
,然后我的项目主页文件是
C:/elianWebSvn/elianWeb/elianWeb/webNewLTE/pages/index.html
那么我在浏览器就可以这样打开 localhost:90/pages/index.html
3.配置文件写完后,就是需要运行这个nginx了。
博主在运行这个nginx时,卡在一个坑上面很久很久,就是一个报错
2017/09/15 11:08:29 [error] 21684#18308: CreateFile() "C:\nginx\nginx-1.12.1/logs/nginx.pid" failed (2: The system cannot find the file specified)
这个坑主要原因就是没有没有nginx.pid这个文件,看了网上很多方案是 需要创建nginx.pid文件,也就是要指定nginx.conf这个配置文件,然后博主很傻的这样写 nginx -c conf/nginx.conf
还是直接说正解吧 : 打开你的cmd(命令行) 然后你需要以你nginx.exe所在路径的绝对路径来写 比如博主的路径在 C:\nginx\nginx-1.12.1
那么命令行就需要这样写 /nginx/nginx-1.12.1/nginx -c /nginx/nginx-1.12.1/conf/nginx.conf
然后就会创建nginx.pid文件啦!!!汗!
如果有小伙伴遇到类似这样的报错 2017/09/15 10:43:49 [emerg] 20960#4268: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
原因是你的端口号80与你本地其他服务器的端口号冲突啦,所以建议你们去改配置文件的listen
4.nginx.pid文件创建好,就可以写命令行
在你nginx.exe所在的目录空白处,按下shift+右键,选择 在此处打开命令行窗口(w)
打开之后 输入第一个命令 start nginx
第二步,需要把nginx的配置文件生效
nginx -s reload
ps:推出nginx命令行 nginx -s quit
5.在命令行能够顺利输入nginx后,就可以到浏览器去查看我们的静态文件了
博主的端口是90
本地首页路径是 C:/elianWebSvn/elianWeb/elianWeb/webNewLTE/pages/index.html
nginx.conf的配置中 root 是 C:/elianWebSvn/elianWeb/elianWeb/webNewLTE
所以博主我在浏览器输入的路径是 localhost:90/pages/index.html
按照我的这个顺序去配置运行,我相信你也可以入坑nginx啦~~
希望可以帮助更多前端小伙伴入坑nginx~金木·晨 2017-09-15