很久没写过关于配置这一类的教程了,今天给大家写一篇如何在mac系统环境下下安装以及正确的配置apache

mac系统下有非常好用的软件管理包,Homebrew,所以我们不需要舍近求远去apache官方网站下载,然后解压安装。

如果你的电脑没用安装Homebrew只需要打开Terminal,在Terminal的shell命令行输入

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

即可开始自动傻瓜式的brew安装,在安装完成之后可以检查一下是否正确的安装以及环境变量是否正确的配置,只需要在命令行输入:

#brew -v

示列:

#brew -v
Homebrew 1.5.3
Homebrew/homebrew-core (git revision 83b7; last commit 2018-02-08)

输出brew版本和brew使用的内核以及最后的使用日期,就表示brew正确的被安装到了mac系统下

既然已经正确的安装了brew,那么我们就可以使用brew很轻而易举的安装apache

只需要在命令行输入

在brew的软件包里apache是httpd后面的24则是版本号,意思就是下载2.4版本的apache服务器

#brew install httpd24

brew会帮我们自动下载以及安装!

下载完成之后,第一步就是检查是否正确的安装!

在命令行输入:

#httpd -v

查看httpd信息

示列:

#httpd -v
Server version: Apache/2.4.29 (Unix)
Server built:   Dec 28 2017 00:52:51

如上所示,正确的输出了Apache服务器的版本号以及所使用的系统内核,就代表Apache服务器已经正确的安装到mac系统上了!

下面开始配置Apache服务器的配置文件

Apache服务器的默认安装目录是/usr/local/etc/httpd

首先第一步在命令行输入:

#cd /

进入根目录

在依次进入Apache的默认的安装目录:

#cd usr
#cd local
#cd etc
#cd httpd

也可以直接进入:

#cd /usr/local/etc/httpd

然后输入ls查看一下目录文件:

#ls
httpd.conf  magic       original
extra       mime.types

httpd.conf就是我们要配置的文件,其他文件暂时我们无需了解!

注意在用户组根目录下操作需要root权限,我们要对该文件使用vim编辑器进行编辑,不能直接vim httpd.conf 需要在前面加上sudo

sudo vim httpd.conf

然后输入root密码

完成上述一系列操作之后开始接下来的文件配置

进入vim编辑界面后使用查找命令查找"Directory"关键字

<Directory "/var/www/cgi-bin">AllowOverride NoneOrder allow,deny
</Directory>

配置文件中会有多个"Directory"关键字,我们只要找到类似于上面这样的格式的Directory关键字即可

Directory后面用双引号扩起来的字段是HTTP执行的默认预CGI程序目录

我们将其修改为我们自己的目录即可

这里我就不做修改,我默认目录就是var/www/cgi-bin

然后在下面把

AllowOverride NoneOrder allow,deny

更换为

<span style="color:#000000">AllowOverride NoneOptions +ExecCGIOrder allow,denyAllow from all</span>

使阿帕奇支持所有可执行文件并获得该目录下的所有权限

然后继续搜索"LoadModule"关键字,会有多个,我们只需要找到这种书写格式的即可:

LoadModule cgi_module lib/httpd/modules/mod_cgi.so

找到了如果被“#”注释掉了将#去掉,使其能正常加载cig动态库

在搜索“AddHandler”关键字,可能会有多个,只需要找到这种书写格式即可:

AddHandler cgi-script .cgi

这个关键字是告诉apache支持那些文件格式!

在.cgi后面加上一个空格和".py"即可让apache服务器支持py文件

AddHandler cgi-script .cgi .py

然后在搜索关键字“ServerName”,可能会有多个,只需要找到这种书写格式即可:

ServerName www.example.com:8080

ServerName指令设置了服务器用于辨识自己的主机名和端口号。就是说它后面的值是机器自己的主机名,可以带端口号。这主要用于创建重定向URL。比如,一个放置web服务器的主机名为simple.example.com ,但同时有一个DNS别名www.example.com 。而您希望web服务器更显著一点,可以使用如下的指令:

ServerName www.example.com:80

当没有指定ServerName时,服务器会尝试对IP地址进行反向查询来推断主机名。如果在ServerName中没有指定端口号,服务器会使用接受请求的那个端口。为了加强可靠性和可预测性,应该使用ServerName显式的指定一个主机名和端口号。

ServerName localhost:8080

改好之后保存退出vim编辑器

重启apache服务器

#sudo httpd -k restart

在浏览器里输入:

http://localhost:8080

如果出现“IS OK”的字样代表apache已经正确的配置,并正常运行。

默认的情况下不在端口号后面加任何路径会默认执行

配置文件中

"DrectoryIndex"关键字后方的文件

配置文件中"Drectorylndex"关键字:

<IfMoule dir_module>Drectorylndex index.html</IfMoule>

你也可以将“Drectorylndex”后面的字段改成你的文件名

index.html是在/var/www文件目录下的,该目录为apache默认文件目录,我们的程序目录在/var/www/cgi-bin目录下,所以如果要使用我们的文件需要加上/cgi-bin/file_name

配置完成之后我们在/var/www/cgi-bin/目录下创建一个python文件

sudo vim hello_apache.py

注意用户目录下需要root权限一定要加上sudo否则没办法保存

写入如下代码做测试

#!/usr/bin/python
# -*- coding: UTF-8 -*-print "Content-type:text/html"
print                               # 空行,告诉服务器结束头部
print '<html>'
print '<head>'
print '<meta charset="utf-8">'
print '<title>Hello Word</title>'
print '</head>'
print '<body>'
print '<h2>Hello World! </h2>'
print '</body>'
print '</html>'

写完之后保存,并在命令行中给予运行权限:

sudo chmod 755 hello_apache.py

或者也可以直接给该文件目录下权限

sudo chmod 755 /var/www/cgi-bin

这样每次编写新的python文件就不需要重复给予运行权限!

如果不给予运行权限apache会直接将文件内容显示出来,而不执行python脚本!

最后在浏览器中输入“http://localhost:8080/cgi-bin/hello_apache.py”

浏览器的页面标题会变成:Hello Word

页面内容会变成:Hello Word!

如果要想修改域名地址要修改mac系统下的hosts文件

在命令行输入:

进入用户根目录

#cd //

进入etc目录

#cd etc

打开hosts文件

#sudo vim hosts

在最下面输入:

test 127.0.0.1

然后在浏览器输入test:8080即可

域名可以修改端口号也一样可以修改

进入apache配置目录

#cd /usr/local/etc/httpd

打开配置文件

#sudo vim httpd.conf

使用vim查找命令查找

Listen 8080

将后面的8080改成你想要的任意端口号,注意要保证该端口号没用被占用

Listen 8081

保存退出,重启apache,在浏览器地址栏输入:

test:8081

即可跳转到我们指定的默认的html文件下!

从0开始python后端开发_配置apache服务器(Mac系统)相关推荐

  1. 从0开始python后端开发_前端(html)向后端(python)传递数据_GET_POST

    关于POST和GET的请求方法和区别请参考:HTTP协议下GET与POST的区别 GET方法 首先先使用html简单编写一个表单页面 代码如下: <!DOCTYPE html> <h ...

  2. 〖Python 数据库开发实战 - Redis篇③〗- Mac系统下通过homebrew安装Redis数据库

    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...

  3. python后端开发技术论坛_自学 Python后端开发 到什么程度可以找工作?

    前两天,在群里收到一个群友(强哥)跳槽成功的消息.真心为其感到高兴.为了找到一个更好的平台,为了拿到更理想的薪酬.他在面试前期做了相当多的准备(机会永远是留给有准备的人,这一点值得学习),写了很多关于 ...

  4. python后端开发工作内容怎么写_【Python后端开发岗位职责_Python后端开发职责/工作内容】-猎聘岗位职责频道...

    python后端开发工程师 深圳市超频三科技股份有限公司 深圳市超频三科技股份有限公司,超频三,超频三科技,超频三 职责: 1.负责集成各种维度的数据源,使用各种数据获取技巧,转换.分析.调度.存储数 ...

  5. jave与python区别_简述JAVA后端开发与python后端开发的区别

    今天总算闲了一会,趁着这个闲暇来写篇文章. 今天我想以个人观点来简单说说Java后端开发和Python后端开发的区别. Java&Python BackEnd 公众号老粉可能知道公众号以前的名 ...

  6. 下列不属于python第三方库的是-python后端开发工程师考证试题

    原标题:python后端开发工程师考证试题 python开发工程师考证试题 选择题 题目 关于 Python 程序格式框架的描述,以下选项中错误的是 ( A ) A: Python 语言不采用严格的& ...

  7. python后端开发技术论坛_python后端开发

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python软件开发,php软件开发,后端开发,运维自动化系统开发,堡垒机,云管 ...

  8. 自学 Python后端开发 到什么程度可以找工作

    前两天,在群里收到一个群友(强哥)跳槽成功的消息.真心为其感到高兴.为了找到一个更好的平台,为了拿到更理想的薪酬.他在面试前期做了相当多的准备(机会永远是留给有准备的人,这一点值得学习),写了很多关于 ...

  9. python适合做后端开发吗-想从事Python 后端开发?

    先说思路,再说操作. 不管你用什么语言,PHP.Python 还是 Java,后端都会涉及到这些东西 1.计算机基础:操作系统.网络系统(协议).数据库系统.数据结构与算法 2.中间件:Nginx.M ...

最新文章

  1. Android中有关数据库SQLite的介绍
  2. 分享大厂分布式唯一ID设计方案,快来围观
  3. PCL【Win10+VS2015+PCL_1.8.0环境配置】
  4. wxWidgets:布局窗口/窗扇示例
  5. python第一周心得_python第一周心得-Go语言中文社区
  6. 用excel数据写入html,如何使用epplus将我的html表格写入excel文件
  7. oracle先的lvm分配,LVM实战案例之LVM空间缩减(本次对PV,VG,LV等进行空间缩减)
  8. VS 2012 No exports were found that match the constraint 解决办法
  9. 编程基本功:给不同的电脑贴标
  10. 取消UltraEdit提示“文件可能不是DOS格式”
  11. DaleCloud(原NFine)介绍二:系统菜单及菜单按钮权限控制
  12. php树递归算法,PHP二叉树递归算法
  13. xenu死链接工具使用
  14. 三坐标测量软件DMIS语句解释
  15. 关于Windows7系统不能访问XP创建的DVD的问题
  16. 阿古斯机器人_7.3.2暗牧神器燃烧王座语音
  17. webpack基础知识
  18. 蓝牙耳机按键事件linux,【记录】Android监听蓝牙耳机的按键事件
  19. Python实现的一个简洁轻快的后台管理框架.支持拥有多用户组的RBAC管理后台,不用配置各种运行环境
  20. 【基础知识】PID(比例微分积分)控制

热门文章

  1. 以太坊2.0怎么挖矿_以太坊2.0即将上线 现在正是挖矿红利期 普通人如何参与挖矿?...
  2. 研究生不知道怎么看论文?赶紧把学长的经验码起来
  3. 编译原理 - SLR(1)
  4. 你真的会用搜索引擎吗
  5. android 截屏 分享,Android应用内截图分享的实现记录
  6. 一图读懂开源协议_一张经典图,开源协议比较
  7. 安装python多少内存_Python进程使用的全部内存?
  8. python对文件操作的相关函数_第六章、Python文件操作
  9. linux定时备份文件到指定文件夹,Linux定时备份数据库到指定邮箱的方法
  10. html中鼠标移走的伪元素,a标签的伪元素的应用——link,hover,visited,active