一、阿里云服务器购买
选择快捷方式购买(无需自定义)。
二、阿里云服务器连接
重置密码
安全组设置
三、服务器基本配置
1.虚拟环境安装
第一步: 安装
pip install virtualenv
pip install virtualenvwrapper
第二步: 查看安装目录
type virtualenvwrapper.sh
第三步: 配置
$ vi ~/.bashrc
export WORKON_HOME=~/.virtualenvs
source
/usr/local/bin/virtualenvwrapper.sh
第四步: 创建目录
$ mkdir ~/.virtualenvs
第五步: 刷新环境
$ source ~/.bashrc
第六步: 创建虚拟环境
$ mkvirtualenv python3 -p /usr/bin/python3.5
第七步: 检查是否成功(是否python3.5版本)
$ python
# 备注: ubuntu中Python2的环境默认都是全的,但是Python3
的集成不够完整,有部分包是欠缺的
apt update
apt install python3-dev
2.数据库安装
更新
apt update
安装
apt install mysql-server
设置开机自启动
systemctl enable mysql.service
查看状态
systemctl status mysql.service
连接测试
mysql -uroot -p
3.安装nginx
安装
key验证
wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
/etc/apt/sources.list 文件中添加:(添加到最后)
deb http://nginx.org/packages/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/ubuntu/ xenial nginx
## 更新源
apt update
设置开机自启动
systemctl enable nginx.service
查看状态
systemctl status nginx.service
检查是否安装成功
浏览器中输入服务器IP地址(公钥),可以看到`Welcome to nginx!`说明安装成功!
杀死进程: pkill -9 nginx
从指定路径加载配置文件
nginx -c configPath
测试执行配置文件
nginx -t -c configPath
项目基本配置
- 上传项目(自己创建www目录)
$ scp -r axf [email protected]:/var/www
- 安装依赖
# 切换到项目目录中
$ pip install -r requirements.txt(requirements.txt项目中的所有依赖)
- 关闭调试模式 settings.py
DEBUG = False
- 开启访问权限 settings.py(项目中的settings.py)
ALLOWED_HOSTS = ['*']
- 启动项目
$ python manage.py runserver 0.0.0.0:8000
- 浏览器(此时静态文件是访问不了的)
112.74.55.3:8000/(项目路由)(url 中的namespace)/
确保项目是能够正常启动的,后续再对接nginx
在/etc/nginx/ 中创建文件mynginx.conf
编辑此文件(服务器安全规则中设置为0.0.0.0/0)
user www-data;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
server {
#监听80端口
listen 80;
listen [::]:80 ipv6only=on default_server;
#服务器IP
server_name 112.74.55.3;
#静态文件配置
location /static {
#别名
alias /var/www/Python1807AXF/static/;
}
}
}
- 关闭nginx
pkill -9 nginx
- 对应配置文件启动
nginx -c mynginx.conf
- 浏览器访问静态文件(确保能够访问项目的静态文件)
http://服务其地址/static/base/css/reset.css
4.uwsgi安装
uwsgi基本使用
- 安装(安装在虚拟环境中!!!)
pip install uwsgi
- 项目目录中 添加 uwsgi.ini文件
# 即是在项目目录中添加
touch uwsgi.ini
- 配置uwsgi.ini文件(测试: 直接使用uwsgi,而不对接nginx)
进入编辑器添加以下内容
[uwsgi]
# 使用nginx连接时 使用
#socket=0.0.0.0:8000
# 直接作为web服务器使用
http=0.0.0.0:8010
# 配置工程目录
chdir=/var/www/axf/Python1807AXF
# 配置项目的wsgi目录。相对于工程目录
wsgi-file=(与项目名相同的一个文件夹)/wsgi.py
#配置进程,线程信息
processes=1
threads=1
enable-threads=True
master=True
pidfile=uwsgi.pid
daemonize=uwsgi.log
- 使用
启动
uwsgi --ini uwsgi.ini
停止
uwsgi --stop uwsgi.ini
# 访问测试(确保uswgi能够启动项目)
http://服务器IP:8010/项目路由/
查看进程: ps -ef | grep uwsgi
关闭对应服务: pkill -9 uwsgi
uwsgi对接nginx
创建uwsig.ini文件(nginx中创建)
进入编辑器添加以下内容
[uwsgi]
# 使用nginx连接时 使用
socket=0.0.0.0:8000
# 配置工程目录
chdir=/var/www/项目名
# 配置项目的wsgi目录。相对于工程目录
wsgi-file=(与项目名相同的一个文件夹)/wsgi.py
#配置进程,线程信息
processes=1
threads=1
enable-threads=True
master=True
pidfile=uwsgi.pid
daemonize=uwsgi.log
浏览器访问(此时不需要端口)
http://112.74.55.3/路由/