Apache+Django++mod_wsgi(ubuntu下虚拟机方式部署过程)
2021-07-08 15:05
标签:虚拟 控制 share har one include 更改 ports exe 前几天以源码的方式部署了Apache+mod_wsgi+django的项目,见我的另一个篇博客 这几天也用apt-get方式安装Apache的方式,安装了部署了一次,其中有一致的地方,也有差别的地方,再此记录一下 环境ubuntu 16.04 +apache2.4.25 +django1.8+mod_wsgi-4.5.15+python2.7 Apache、Python2.7都是以apt-get install的方式安装的 django1.8 是pip install django==1.8的方式安装的 mod_wsgi-4.5.15 是需要下载源码编译安装 Apache源码与apt方式安装的区别就是目录结构不一样,配置文件加载方式不一样,源码的方式,所有的东西在一块,配置文件就主要是httpd.conf,启动程序就在bin下, 如 john@UBT:/usr/local/apache24$ ls 反正都统统在一块了! 而apt方式的,就分布到各个目录下了 root@i:/tmp# whereis apache2 root@i:/tmp# ls /usr/lib/apache2 为模块目录,以后的wsgi.so就会生成到这 ls /usr/share/apache2 一些其他的文件在这 还有就是项目目录 /var/www/html 这里面就一个index.html 日志目录就在/var/log/apache2/ 下,访问日志和错误日志都在这 第一步,将项目放到服务器上面,我为了方便就放到/var/www/下面,我的项目是mysit 然后更改wsgi.py 文件,需要加一个项目路径,sys.path.append("/var/www/mysit") 第二步,更改apache配置文件 需要做2个工作,一个是安装mod_wsgi,源码安装,安装的时候要满足安装条件,需要apache-dev,可以参考官方安装说明 满足条件了就安装就可以了,命令就是 ./coungure make make install 这3步,安装完后,看看/usr/lib/apache2/modules 目录里有了wsgi.so了吧! 然后加配置文件 /etc/apache2/mods-available目录下建立加载模块的配置文件 wsgi.load #如下一行 然后使用a2enmod命令,就能看到wsgi模块。输入名字后就启用了 再修改/etc/apache2/sites-enabled/000-default.conf (我就用这个默认的了,也可以自己建立一个,格式一样就可以了) 加入 DocumentRoot /var/www/mysit Alias /static /var/www/mysit/static (如果你还有音、视频的,请再加相关的目录) 这里就加一些目录访问权限 然后用a2ensite 命令,启用 000-。。。。。。这个site就行了 然后将80端口的访问权限开开,那么启动apache服务后,访问就可以了! envvars 配置系统环境变量的相关参数 目前我存在的问题如下: admin页面登录退出等写数据库操作,系统会报异常,网上米有找到将admin发布的帖子 setting 配置debug=false ,外部访问不了! apache服务日志每天早上6:25:01时会将日志压缩打包,碰巧的是Apache服务在这时会做一个重启,但是哪里控制打包日志的,我没找到,也不确定重启是不是系统做的 以上问题如果有高手知道,望指点一下,谢谢 我的项目有半年时间,网站是http://60.205.221.253/ 欢迎访问 Apache+Django++mod_wsgi(ubuntu下虚拟机方式部署过程) 标签:虚拟 控制 share har one include 更改 ports exe 原文地址:http://www.cnblogs.com/if-then/p/7073082.html
bin cgi-bin error icons logs manual
build conf htdocs include man modules
john@UBT:/usr/local/apache24$
john@UBT:/usr/local/apache24$ tree -L 1
.
├── bin ------------------程序目录
├── build
├── cgi-bin
├── conf -------------配置文件目录,主要是httpd.conf
├── error
├── htdocs
├── icons
├── include
├── logs -------------------日志目录
├── man
├── manual
└── modules ------------------模块目录
apache2: /usr/sbin/apache2 /usr/lib/apache2 /etc/apache2 /usr/include/apache2 /usr/share/apache2 /usr/share/man/man8/apache2.8.gz
/usr/sbin/apache2 与/usr/sbin/apache2ctl 为执行文件
modules
root@i:/tmp# ls /etc/apache2 ---主目录,主要配置都在这
apache2.conf conf-enabled magic mods-enabled sites-available
conf-available envvars mods-available ports.conf sites-enabled
apache2-maintscript-helper ask-for-passphrase build default-site error icons
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
WSGIScriptAlias / /var/www/mysit/mysit/wsgi.py
Options Indexes FollowSymLinks ExecCGI
AllowOverride none
Require all granted
Require all granted
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
Require all granted
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
Require all granted
文章标题:Apache+Django++mod_wsgi(ubuntu下虚拟机方式部署过程)
文章链接:http://soscw.com/essay/102405.html