(步骤)javascript
sudo apt-get install apache2 查看版本 apachectl -v Server version: Apache/2.4.18 (Ubuntu) Server built: 2017-09-18T15:09:02
sudo vim /etc/hosts 127.0.0.1 localhost 127.0.0.1 www.pyweb.cn
出现 Apache2 Ubuntu Default Page 或It works! 则成功
sudo apt-get install libapache2-mod-wsgi-py3
安装完成后 进入 /usr/lib/apache2/modules 目录 cd /usr/lib/apache2/modules 查看是否存在mod_wsgi.so-3.5
编辑配置文件
sudo vim /etc/apache2/apache2.conf 在文件的最后 添加 LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so-3.5
编辑网站配置文件
sudo vim /etc/apache2/sites-available/推荐和项目同名或者使用域名.conf
配置内容:
<VirtualHost *:80> # 服务端口号 web服务默认80不推荐修改 ServerName www.pyweb.cn # 指定域名 刚刚修改的hosts文件添加的域名 ServerAdmin py@163.cn # 邮箱随便 #wsgi文件目录 讲apache和django链接在一块儿 WSGIDaemonProcess python-path=/var/www/project # python-path=/var/www/项目名字 WSGIScriptAlias / /var/www/myproject/myproject/wsgi.py # /var/www/项目名/项目同名的文件夹/wsgi.py <Directory /var/www/myproject/myproject> # /var/www/项目名/项目同名目录 <Files wsgi.py> Require all granted </Files> </Directory> #项目文件目录 DocumentRoot /var/www/myproject # /var/www/项目名 指定项目目录 <Directory /var/www/myproject> Require all granted </Directory> #静态文件目录 # 指定项目静态资源路径 Alias /static/ /var/www/myproject/static/ # /var/www/项目名/static/ <Directory /var/www/myproject/static/> Require all granted </Directory> #错误日志 日志名能够本身定义 ErrorLog ${APACHE_LOG_DIR}/django-myproject-error.log CustomLog ${APACHE_LOG_DIR}/myproject-django.log combined </VirtualHost>
cd /etc/apache2/sites-enabled sudo ln -s ../sites-available/自定义名字推荐域名.conf ./
sudo a2ensite myproject.conf 若是须要让这个配置失效,能够执行 sudo a2dissite myproject.conf
首先把myproject项目目录拷贝至 /var/www/目录下 在将其ALLOWED_HOSTS=[]改成 ALLOWED_HOSTS=['www.pyweb.cn'],多个域名能够经过逗号隔开。
import os os.environ["DJANGO_SETTINGS_MODULE"] = "myproject.settings" # myproject.settings 改为 项目名.settings 不改会报服务器内部错误 from os.path import join,dirname,abspath PROJECT_DIR = dirname(dirname(abspath(__file__))) import sys sys.path.insert(0,PROJECT_DIR) from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
sudo service apache2 restart 和python manage.py runserver 测试环境不一样 在Apache 下每次修改都要重启apache
给static文件夹或项目目录文件递归追加一个www-data用户权限 sudo setfacl -R -m u:www-data:rwx 项目文件夹名/
在配置apache的时候,出现了问题,好不容易把apache服务配置好php
可是只能用在Ubuntu里访问那个具备标志性的网页,It works !css
在ubuntu 服务器里我是这样访问的java
首先,查看服务器的内网IPpython
而后用elinks 命令linux
elinks http://172.17.45.112nginx
而后我又在个人电脑里面用外网访问,可是一直是不能够的,我一直查资料,可是就是找不到,web
那些方法都解决不了,后来我想到个人是阿里云服务器,而后就去了阿里官网,找,终于找到了,sql
里面是这样介绍这个问题的apache
缘由分析:安全组默认没有放行网站使用的端口(如80端口)。你须要自行放行该端口
而后顺藤摸瓜,找到了问题的解决方法
在安全组规则里面添加了一个安全组规则
添加安全组规则以下 :
这里有个教我设置,这里你能够根据他提供的设置好
而后我再打开浏览器访问个人公网地址
而后就能够访问了!!!
这样公网ip地址就能够访问远程apache了.
重点来了:
以后用公网访问阿里云服务器的apachehost地址, 只出现It works ! 页面.
最后是以前配置的问题,在6,建立网站配置文件里,Servername 写的假域名,这个只能在本地浏览器进行域名访问.是假的骗本身的.
若是想要联网远程访问,Servername 应该写本身的服务器公网IP,而后在本身配置的项目路径/var/www/web/settings.py 里 ALLOW_HOST['*'] 或者 ALLOW_HOST['本身的公网ip'] 监听全部端口,即全部端口都能访问.
Linux系统为Ubuntu
1、Start Apache 2 Server /启动apache服务
# /etc/init.d/apache2 start
or
$ sudo /etc/init.d/apache2 start
2、 Restart Apache 2 Server /重启apache服务
# /etc/init.d/apache2 restart
or
$ sudo /etc/init.d/apache2 restart
3、Stop Apache 2 Server /中止apache服务
# /etc/init.d/apache2 stop
or
$ sudo /etc/init.d/apache2 stop
项目最后一点验证码的问题:
首先在云服务器安装字体
以ubuntu服务器为示例:
首先,先安装字体库所须要的控件
apt-get install xfonts-utils
apt-get install fontconfig
apt-get install ttf-dejavu-core
而后,将你下载好的字体文件放置到以下位置(.ttf文件):
将下载好的字体复制到/usr/share/fonts/truetype/路径下
(Linux的字体都在/usr/share/fonts这个目录里,一种字体就是这个目录下面的一个子目录。
注意,若是把Windows某个字体的ttf文件复制到某个新建的子目录里面,
还须要在子目录里用root用户身份依次执行以下三条命令,这个字体才能用,并非复制到/usr/share/fonts目录就能够用了.)
而后,在fonts路径下执行如下命令行
sudo mkfontscale (建立字体的fonts.scale文件,它用来控制字体旋转缩放)
sudo mkfontdir (建立字体的fonts.dir文件,它用来控制字体粗斜体产生)
sudo fc-cache -fv (创建字体缓存信息,也就是让系统认识认识雅黑)创建路径和缓存以后,重启服务器或者重启服务,让系统识别新加入的字体库。
最后就是导入验证码的Pillow包.
安装Pillow:pip install pillow 查看: pip3 list
这样验证码就好使了.
最后的最后:
在阿里云购买了二手域名. 域名解析我本身的服务器地址.
而后再项目里配置好服务器web.conf里的Servername的服务器名字改为本身的域名,以前是用公网Ip访问的, 开启Apache.