下面我们来看一下httpd.conf中的几条指令,“#”后加入了注释说明;
Port 80 #定义了web服务器的侦听端口,默认值为80,它是TCP网络端口之一。若写入多个端口,以最后一个为准。
User apache(Unix平台最流行的WEB服务器平台) #一般情况下,以nobody用户和nobody组来运行web服务器,因为web
Group apache(Unix平台最流行的WEB服务器平台) #服务器发出的所有的进程都是以root用户身份运行的,存在安全风险。
ServerAdmin root@localhost #指定服务器管理员的E-mail地址。服务器自动将错误报告到该地址。
ServerRoot /etc/httpd #服务器的根目录,一般情况下,所有的配置文件在该目录下
ServerName new.host.name:80 #web客户搜索的主机名称
KeepAliveTimeout 15 #规定了连续请求之间等待15秒,若超过,则重新建立一条新的TCP连接
MaxKeepAliveRequests 100 #永久连接的HTTP请求数
MaxClients 150 #同一时间连接到服务器上的客户机总数
ErrorLog logs/error_log #用来指定错误日志文件的名称和路径
PidFile run/httpd.pid #用来存放httpd进程号,以方便停止服务器。
Timeout 300 #设置请求超时时间,若网速较慢则应把值设大。
DocumentRoot /var/www/ #用来存放网页文件
magic 文件中包含的是有关mod_mime_magic模块的数据, 一般不需要修改它;
ports.conf 则为服务器监听IP和端口设置的配置文件;
mods-available 目 录下是一些.conf和.load 文件, 为系统中可以使用的加载各种模块的配置文件, 而 mods-enabled 目录下则是指向这些配置文件的符号连接, 从配置文件apache(Unix平台最流行的WEB服务器平台)2.conf 中可以看出, 系统通过 mods-enabled 目录来加载模块, 也就是说, 系统仅通过在此目录下创建了符号连接的 mods-available 目录下的配置文件来加载模块。同时系统还提供了两个命令 a2enmod 和 a2dismod用于维护这些符号连接。这两个命令由 apache(Unix平台最流行的WEB服务器平台)2-common 包提供。命令各式也非常简单: a2enmod [module] 或 a2dismod [module];
sites-available 目 录下为配置好的站点的配置文件, sites-enabled 目录下则是指向这些配置文件的符号连接, 系统通过这些符号连接来起用站点 sites-enabled 目录下的符号连接附有一个数字前缀, 如000-default, 这个数字用于决定启动顺序, 数字越小, 启动优先级越高. 系统提供了两个命令 a2ensite 和 a2dissite 用于维护这些符号连接。这两个命令由 apache(Unix平台最流行的WEB服务器平台)2-common 包提供;
Apache配置介绍到这里,接下来开始配置Django网站。
Apache默认的服务器地址为var/www目录,没有必要修改此位置,cd到/var/www目录,新建Django项目,执行如下命令:
sudo django-admin.py startproject mysite创建的项目目录结构如下
mysite/
manage.py
mysite/ __init__.py
settings.py
urls.py
wsgi.py
可以通过
python manage.py runserver 8000测试django项目是否创建成功。如果提示错误,可能是由于django默认使用sqllite数据库的原因,只要在mange.py同级目录中添加db.sqllite3即可。
之后,我打算将mysite这个站点,在端口8888下运行。
修改/etc/apache2/ports.conf ,在其中的
NameVirtualHost *:80 Listen 80下面添加
NameVirtualHost *:8888 Listen 8888表示VirtualHost *:8888的虚拟主机监听8888端口,而默认的VirtualHost *:80的虚拟主机监听80端口。
接下来让apache来加载我们自己的工程网站,去apache的配置目录/etc/apache/sites-available, 新建一个我们网站的配置文件。
sudo vim mysite