发表于: 2016-02-07 03:12:09
5 1838
明天计划的事情:
1、明天走亲戚,估计没多少时间做task,我尽量吧;
遇到的问题:
@181 师弟昨天问了我这个问题,没能彻底解决,今天请教了@19 师弟,有了进一步的了解,QQ群里面经常有人问这个问题,所以今天打算写个简单的补充攻略
首先 大家应该在论坛或者官网,下载过@利勇 师兄的 《Nginx使用方法》,基本上都能做到输入localhost出现welcome界面这一步,如果没有出现的话,很可能是你的软件目录下有中文,建议大家养成一个好习惯,所有的软件安装目录都用英文,哪怕是拼音也行,因为毕竟从系统到软件,大多是国外的,中文路径容易出问题。
其实我们看到的welcome界面,就是nginx/html目录下的index.html页面,重点是接下来的步骤,很多人不理解。“默认网站根目录为/usr/local/nginx/html,要将它改成/home/www”,这句话的意思就是,把默认路径从nginx/html改成你自己放置代码的路径,这里的home/www只是@利勇 师兄举的一个相对路径的栗子,大家也可以改成绝对路径,我个人是不习惯把软件跟文件放一起的,我们先来看下原配置文件
server {
“下面我们仔细来分析一下:
listen:表示当前的代理服务器监听的端口,默认的是监听80端口。注意,如果我们配置了多个server,这个listen要配置不一样,不然就不能确定转到哪里去了。
server_name:表示监听到之后需要转到哪里去,这时我们直接转到本地,这时是直接到nginx文件夹内。
location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里
root:里面配置了root,表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文件伺服很有用。
index:当没有指定主页时,默认会选择这个指定的文件,它可以有多个,并按顺序来加载,如果第一个不存在,则找第二个,依此类推。
下面的error_page是代表错误的页面,这里我们暂时不用,先不管它 ”
(上面这段分析文字,引用自 http://cxshun.iteye.com/blog/1535188)
接下来的任务就很明确了,把listen 80下面的两个 root html中的路径,改成我们自己放代码的文件夹,例如在E盘下面新建一个home的文件夹,再在目录下新建一个www的文件夹,那么路径就是:E:\home\www,把task1.html放进去,然后修改配置
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root E:\home\www;
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;
}
# 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 E:\home\www;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
只改上面两处红字的地方就可以了,然后用任务管理器 (ctrl+alt+delete)关闭nginx进程,可能有好几个,全都关掉,然后重新打开nginx,浏览器输入 http://localhost/task1.html,就可以正常访问了,如果还是访问不了的话,在localhost上加上端口:80试试~
(其实我理解的是,只要路径正确就行,但是我换了其他的文件夹名字,例如E:\wy\task,E:\task等,都失败了,提示404错误,不知道是不是我访问的姿势不对,我试了一个多小时都不行...ORZ)
另外,@19 师弟:手机访问我研究出来了,不需要电脑共享文件
首先,电脑和手机连接上同一个wifi
然后查看电脑ip:win+R→cmd→ipconfig→回车, 找到无限局域网适配器wlan中的ip地址,例如我的是192.168.0.119
然后手机浏览器中输入192.168.01.119/task1.html 就可以看到自己的代码啦~
PS:手机访问还有另外两个方法
1、代码上传至服务器,直接用ip访问
2、谷歌浏览器的F12调试中,左上角有个手机的图标,点那个就可以模拟移动设备访问,有很多不同尺寸的手机,苹果、三星、洛基亚之类的,木有小米 0.0
感想:
1、感谢@19 师弟的耐心指导,没想到12点了还在,下次有人问你这个问题,把这篇日报给他看就行啦~
2、我在夜猫子的路上一去不复返了..orz
2016.03.05 更新
在群里看到老大帮师弟解答问题,顺便也解了我先前的疑惑
为什么用E:\wy\task,E:\task等路径都显示错误,都是转义字符的锅
转义字符 | 意义 | ASCII码值(十进制) |
\a | 响铃(BEL) | 007 |
\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
\n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
\\ | 代表一个反斜线字符''\' | 092 |
\' | 代表一个单引号(撇号)字符 | 039 |
\" | 代表一个双引号字符 | 034 |
\? | 代表一个问号 | 063 |
\0 | 空字符(NULL) | 000 |
\ddd | 1到3位八进制数所代表的任意字符 | 三位八进制 |
\xhh | 1到2位十六进制所代表的任意字符 | 二位十六进制 |
PS:
1、先前我口中的@19 师弟,原来是首席大师兄,失敬,失敬
2、@苏哈哈 师兄补充的一条:#号是注释符号
评论