在ubuntu18中安装apache2.4、配置及使用
主要内容
适用范围本教程主要用于ubuntu18中安装apache2.4
一、安装apache2.4
sudo apt-get install apache2
二、安装模块(mod_wsgi)
sudo apt-get install libapache2-mod-wsgi-py3
到达相应的目录上查看
说明:
1.mods-available是存放模块的地方
2.mods-enabled是查看模块是否启用
注:a2两次tab键是查看功能
使用方法:a2enmod + 模块名 a2ensite+站点名 这是启用
a2dismod + 模块名 a2ensite+站点名 这是关闭
但在软件中不能使用,因为mod_wsgi.so比较旧,要更新
三、更新mod_wsgi.so
这是django官网教程
这是mod_wsgi官网教程
相关的依赖包
sudo apt-get install apache2-dev python3.X python-dev python3.X-dev
解压源代码
可以从以下位置获取源代码tar球:
https://github.com/GrahamDumpleton/mod_wsgi/releases
下载完要使用的版本的tar球后,请使用以下命令将其解压缩:
tar xvfz mod_wsgi-X.Y.tar.gz
将“ X.Y”替换为所使用的实际版本号。
配置源代码
要设置准备好构建的软件包,请从源代码目录中运行“ configure”脚本:
./configure
配置脚本将通过在各个标准位置中搜索发行版中包含的称为“ apxs2”或“ apxs”的Apache构建工具来尝试识别要使用的Apache安装。如果在这些标准位置中没有找到,则会搜索您的PATH。
使用哪种Python安装将通过在PATH中查找“ python”可执行文件来确定。
如果这些程序不在标准位置,或者在您的PATH中找不到它们,或者您希望使用找到的替代版本,则 --with-apxs和–with-python选项可以与“配置”脚本结合使用:
./configure --with-apxs=/usr/local/apache/bin/apxs
–with-python=/usr/local/bin/python
用whereis apxs
whereis python 来查看它们的位置
在某些Linux发行版(例如SUSE和CentOS)上,有必要使用该–with-apxs选项并指定“ / usr / sbin / apxs2-worker”或“ / usr / sbin / apxs2-prefork”。这是必要的,因为Linux发行版本允许同时为两个Apache MPM变体安装“ dev”软件包,而其他Linux发行版本则不允许。
如果您安装了多个版本的Python,但未使用默认版本,则可能必须组织运行时Apache应用程序继承的PATH会导致Apache查找备用版本。另外,应该使用WSGIPythonHome指令来指定与编译所依据的Python版本相对应的Python安装的确切位置。如果不这样做,则Apache中运行的Python版本可能会尝试使用错误版本的Python中的Python模块。
构建源代码
一旦配置了软件包,就可以通过运行以下命令来构建它:
make
如果mod_wsgi源代码无法成功构建,请参见:
安装问题
如果成功,那么构建过程中唯一需要安装的产品就是Apache模块本身。没有单独的Python代码文件,因为一切都在编译到Apache模块中的C代码中完成。
要将Apache模块安装到Apache指示的Apache模块的标准位置,请运行:
make install
如果合适,应以“ root”用户或“ sudo”命令安装。
如果要在非标准位置安装Apache模块,具体取决于操作系统发行版为Apache配置配置文件和模块的方式,则需要手动将文件复制到位。
如果手动安装Apache模块,则该文件称为“ mod_wsgi.so”。可以在“ .libs”子目录中找到已编译的Apache模块。复制到适当位置时,文件名应保持相同。
构建后清理
要在安装后进行清理,请运行:
make clean
如果需要为其他版本的Apache构建模块,则应运行:
make distclean
然后在尝试再次运行“ make”之前,针对替代版本的Apache重新运行“ configure”。
四、配置站点文件(file_name.conf)
进入站点新建配置文件
cd /etc/apache2/sites-available
sudo vi file_name.conf
file_name.conf内容
Alias /favicon.ico /path/to/mysite.com/static/favicon.ico
#静态文件
Alias /static/ /path/to/mysite.com/static/
<Directory /path/to/mysite.com/static>
Require all granted
</Directory>
#多媒体文件
Alias /media/ /path/to/mysite.com/media/
<Directory /path/to/mysite.com/media>
Require all granted
</Directory>
#wsgi.py配置
WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIPythonPath /path/to/mysite.com
<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
在ubuntu18中apache2虚拟环境站点配置
在ubuntu中apache2同时打开多个端口
五、站点启用与关闭
#站点启用
a2ensite site_web_name.conf
#站点关闭
a2dissite site_web_name.conf
六、apache2.4使用
- 开始
systemctl start apache2
#第一次使用时要用
sudo apache2ctl start - 重启
sudo apache2ctl restart - 停止
sudo apache2ctl stop - 查看错误
cat /var/log/apache2/error.log - 查看apache2运行状态
systemctl status apache2