目的:创建一个专属的测试环境
Mac升级到最新系统 masOS MoJave 配置的本地服务器会被重置。请按照文档重新设置一遍。2分钟搞定!
一、Apache服务器
使用最广的 Web 服务器
Mac自带Apache,只需要修改几个配置就可使用
有些特殊的服务器功能,Apache都能很好的支持
二、硬件要求
1. Mac电脑开机密码
2. MAC 10.10及以上(关于本机查看,当前最新版本是10.13.6)
三、配置服务器(此过程会用到vim命令)
1. 服务器操作常见命令
一般来说Mac系统都会自带Apache环境,此过程会要求输入密码,输入时是隐藏的,输入完成直接回车即可。
sudo apachectl -v //查看系统的Apache版本
sudo apachectl -k start //启动Apache
此步骤过后就可以查看Apche是否已经启动了,在Safari地址栏中输入http://localhost 或 127.0.0.1 ,如果网页中出现 It Work!,已启动成功。
sudo apachectl -k stop //停止Apache
sudo apachectl -k restart //重启Apache
2. 配置服务器的准备工作
①、在Finder中创建一个"Sites"的文件夹,直接创建在/Users/apple(当前用户名)目录下
②、修改配置文件中的"两个路径",指向刚刚创建的文件夹(按照4. 流程命令步骤去做)
③、拷贝一个文件(按照4. 流程命令步骤去做)
3. 配置服务器的注意事项
关闭中文输入法
命令和参数之间需要有"空格"
修改系统文件一定记住"sudo",否则会没有权限
目录要在/Users/***(当前用户名) : 将你创建的文件夹Sites直接拖放到终端中就可以查看你创建的Apache服务器文件夹路径
4. 配置服务器流程(以下是终端执行命令)
①切换工作目录 到 /etc/apache2
cd /etc/apache2
②备份文件,以防不测,只需要执行一次就可以了(可以使用ls命令查看是否新增了httpd.conf.bak文件)
sudo cp httpd.conf httpd.conf.bak
提示:如果后续操作出现错误!可以使用以下命令,恢复备份过的 httpd.conf 文件(此步骤不需执行)
sudo cp httpd.conf.bak httpd.conf
③方法一:用vim编辑httpd.conf,需要输入密码(vim里面只能用键盘,不能用鼠标,按 0 将光标移动到首行(0这是零,不是字母o),按 i 进入编辑模式。)
sudo vim httpd.conf
方法二:文档编辑方法:
命令行打开当前文件夹
open .
拷贝一份httpd.conf到桌面(没有直接修改权限),按456步骤修改,再拷贝覆盖原文件更高效。
④查找php删除注释 (command + f 搜索,终端中搜索不支持全文搜索,请切页搜索)
#LoadModule php7_module libexec/apache2/libphp7.so 删除掉 #
⑤查找DocumentRoot (按向下箭头走60行左右) 修改两个/Library/WebServer/Documents改成自己的服务器文件夹路径(/Users/用户名/Sites)
⑥查找options(按向下箭头继续走10行左右)修改Options FollowSymLinks Multiviews
加一个单词Indexes 如下
Options Indexes FollowSymLinks Multiviews
⑦保存httpd.conf
按 ESC 退出编辑模式,进入命令模式
:wq //保存并退出一下
:q! //不保存退出!!!(这一步不需要执行,如果自己输入错了的话执行)
⑧切换工作目录 到 /etc
cd /etc
⑨拷贝php.ini文件
sudo cp php.ini.default php.ini
5. 测试 Apache 服务器
sudo apachectl -k restart //重新启动apache服务器
若出现下图所示警告表示正常在浏览器地址栏输入 127.0.0.1,刷新页面,可能还是显示it Work!请清空一下safari-->”清除历史记录和网站数据",刷新页面。
如果你想页面里面多些内容,可以创建个demo.json,放一段json文本在里面,把它放到Sites文件夹里面,刷新页面。
Apache是一个服务器,为了保证用户的安全,每次重新启动计算机Apache不会自动启动,需要进入终端,手动启动一次。
四、关于iOS调试的一些使用注意
1. https处理
Xcode7以上,即iOS9的以上的,会有这个输出日志,并且data也未空
App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.
需要在info.plist配置如下
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
2. 项目调用代码
//WYKTEST
NSURL *url = [NSURL URLWithString:@"http://127.0.0.1/demo.json"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse * _Nullable response,
NSData * _Nullable data,
NSError * _Nullable connectionError)
{
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data
options:NSJSONReadingMutableContainers
error:&connectionError];
NSLog(@"我是模拟接口:%@",dict);
[self assembledModel:dict];
}];
3. 输出日志
2018-08-26 22:30:44.662 Apache测试[4382:261834]
我是模拟接口:
{
data = {
show = 感觉不错,来个star呗!
},
errorMsg = 成功,
errorCode = 0
}
结语
简单的使用已基本够用,欢迎交流,后续补充其他。
推荐一个还算不错的网站 json在线编辑工具