安装python3.5
一、方法一
wget https://www.python.org/ftp/python/3.5.4/Python-3.5.4.tgz
tar -xzvf Python-3.5.4.tgz
cd Python-3.5.4
./configure --enable-optimizations --enable-shared --prefix=/usr/ (prefix安装路劲,此处将在/usr/lib/安装)
make
make altinstall #保留旧版本Python
>> python3.5 -V 出错的话需先安装pip,用python2 get-pip.py
二、方法二(推荐)
1、安装
sudo add-apt-repository ppa:fkrull/deadsnakes
>>报ubuntu add-apt-repository: command not found错误, 执行一下:
sudo apt-get install python-software-properties
sudo apt-get install software-properties-common
2、重新安装
sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python3.5
在控制台输入python3.5(python3) -V查看版本
建立软连接:
1、将python3.5添加软连接到python上,这样每次输入python就默认使用python3.5(全局使用)
sudo rm /usr/bin/python --> 删除python2建立的连接
sudo ln -s /usr/bin/python3.5 /usr/bin/python --> 建立python3.5的软连接
2、cd /usr/bin ,查看建立的软连接(可忽略)
>> ls python* -lh
输出类似:
python -> /usr/bin/python3.5(python3.5)
python2 -> /usr/bin/python2.7
ps:只要找到安装目录,将其执行文件通过 ln -s 命令建立到 /usr/bin目录下,都可以达到这个目的
安装pip3
一、官网提供的方法-->> https://pip.pypa.io/en/stable/installing/
1、cd ~/software(随便一个工作目录)
2、curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
curl:强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具;
语法: curl [option] [url]
3、在当前目录下 python3.5 get-pip.py
>> pip3 -V 输出pip的版本信息
二、方法二
sudo apt-get install python3-pip
更新命令>> pip install -U pip
安装项目所需库
1、生成所需库的.txt文件
pip3 freeze >requirements.txt
2、安装
pip3 install -r requirements.txt
安装apache2
sudo apt-get install apache2
sudo apt-get install apache2-dev (提供编译模块工具apxs)
vi /etc/apache2/apache2.conf,在末尾添加 LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
安装目录:/usr/lib/apache2
配置文件:/etc/apache2/
配置django的虚拟主机位置:/etc/apache2/sites-available/
日志文件:/var/log/apache2/
django项目应放位置:/var/www(80端口) 或者 /var/新建文件夹/
拷贝项目Project-m到 /var/django/目录下
1、win下如果你用的putty
在项目目录下打开cmd:pscp Project-m.tar.gz 服务器登陆用户名@服务器IP:/var/django
2、保持putty与服务器的连接不断开,及保持与服务器的会话。
打开putty时,点击左侧的collections,右侧有一个 Seconds between keepalives(0 to turn off),将此改成非零数字,10或20或其他
安装mod_wsgi
方法一、官网 -->https://modwsgi.readthedocs.io/en/develop/user-guides/quick-installation-guide.html
源码 --> https://github.com/GrahamDumpleton/mod_wsgi/releases(有各个版本,此处4.5.7)
1、wget https://github.com/GrahamDumpleton/mod_wsgi/archive/4.5.7.tar.gz
2、tar -xzvf 4.5.7.tar.gz mod_wsgi-4.5.7
3、cd mod_wsgi-4.5.7
4、分别执行>> which apxs、which python3.5查看位置,将其添加到下方
./configure --with-apxs=/usr/bin/apxs --with-python=/usr/bin/python3.5
5、vim config.log
>>:/apxs 或者 :/APXS 回车,看是否不为空, 按小写n查找下一个
>>:/python 或者 :/PYTHON 回车,看是否不为空
两个都不为空再执行 make && make install
6、安装python dev的头文件和静态库,如果提示找不到python.h
>> sudo apt-get install python3-dev
make install 后会提示 成功添加到 /usr/lib/apache2/modules/下,且提示修改它的权限
(后面有问题再改也可以)可能需到此目录下 执行chmod 755 mod-wsgi.so
(可能不需要)在/etc/apache2/apache2.conf 末尾添加 LoadModule wsgi_module modules/mod_wsgi.so
在/etc/apache2/sites-available/配置Django虚拟主机,名字project.conf
<VirtualHost *:8080>
ServerName django.test.com
ServerAlias test.com
ServerAdmin asfd@163.com
DocumentRoot /var/django/Project-m/project
Alias /static /var/django/Project-m/project/static
Alias /templates /var/django/Project-m/project/templates
<Directory /var/django/Project-m/project/static>
AllowOverride None
Require all granted
</Directory>
<Directory /var/django/Project-m/project/templates>
AllowOverride None
Require all granted
</Directory>
WSGIScriptAlias / /var/django/Project-m/project/wsgi.py
<Directory /var/django/Project-m/project>
<Files wsgi.py>
AllowOverride None
Require all granted
</Files>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
ps:修改/etc/apache2/ports.conf ,在其中的
Listen 80
下面添加:
Listen 8080
*** 使此配置文件生效 ***
80端口的DocumentRoot是www
apache2 启动相关: sudo service apache2 start/stop/restart/reload
1、启动apache2服务: sudo /etc/init.d/apache2 start
2、使配置文件project.conf生效: sudo a2ensite project.conf
3、使默认配置文件失效(否则局域网内其他电脑不能通过IP地址访问): sudo a2dissite 000-default.conf
4、重启Apache: sudo /etc/init.d/apache2 restart
修改project下的wsgi.py文件
import sys
os.environ["DJANGO_SETTINGS_MODULE"] = "djangoWeb.settings"
sys.path.append('/var/DjangoWeb/venv/lib/python3.5/site-packages')
DIR = dirname(dirname(abspath(__file__)))
if PROJECT_DIR not in sys.path:
sys.path.insert(0,DIR) #目录查找优先级,0最优先
最后就是在项目的settings.py文件中更改
ALLOWED_HOSTS = ['服务器ip']
ps: 没有域名就通过ip访问 http://服务器ip:8080/
测试远程主机是否能连通:telnet 服务器ip 8080
服务端测试:curl http://localhost:8080
多看日志.........
开启防火墙.
sudo apt-get install ufw
1、启用
sudo ufw enable
sudo ufw default deny
作用:开启了防火墙并随系统启动同时关闭所有外部对本机的访问(本机访问外部正常)。
2、关闭
sudo ufw disable
3、查看防火墙状态
sudo ufw status
4、开启/禁用相应端口或服务举例
sudo ufw allow 8080 允许外部访问8080端口
sudo ufw delete allow 8080 禁止外部访问8080 端口
5、查看8080端口是否监听
netstat -anp | grep 8080
netstat -ntlp | grep 8080
MongoDB安装配置
1、创建数据库目录
sudo mkdir -p /data/MongoDB # 创建数据库目录
sudo chmod 777 /data/MongoDB #更改目录权限
sudo mkdir -p /data/MongoDB/data # 创建数据目录
sudo mkdir -p /data/MongoDB/log #创建日志目录
2、vi /data/MongoDB/mongodb.conf # 新建并编辑配置文件
dbpath=/data/MongoDB/data #数据存储目录
logpath=/data/MongoDB/log/mongodb.log #日志文件路径
logappend = true #追加
port=27017 #端口号
fork=true #后台进程
3、启动mongod服务
mongod -f /data/MongoDB/mongodb.conf
ps:若要通过python 的os模块读取系统环境变量,只需在 /etc/apache2/envvars 中添加,是因为apache启动时是在此文件中读取相关环境变量
匹配完整日期(平年、闰年)的正则:
^((((19|20)\d{2})-(0?[13-9]|1[012])-(0?[1-9]|[12]\d|30))|(((19|20)\d{2})-(0?[13578]|1[02])-31)|(((19|20)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-29))$