该操作使用的是root账号,如果不是root账号,那么需要在命令前面加sudo.示例:sudo apt-get update
root@iZ6x44ao8frlx0Z:~# apt-get update
root@iZ6x44ao8frlx0Z:~# apt-get upgrade
root@iZ6x44ao8frlx0Z:~# apt-get install git python3 python3-pip
(1)安装
root@iZ6x44ao8frlx0Z:~# apt-get install nginx
(2)目录结构
安装完Nginx后,文件结构大致为:
所有的配置文件都在 /etc/nginx下;
启动程序文件在 /usr/sbin/nginx下;
日志文件在 /var/log/nginx/下,分别是access.log和error.log;
并且在 /etc/init.d下创建了启动脚本nginx。
(3)相关命令
sudo /etc/init.d/nginx start # 启动
sudo /etc/init.d/nginx stop # 停止
sudo /etc/init.d/nginx restart # 重启
(4)启动Nginx服务
root@iZ6x44ao8frlx0Z:~# service nginx start
在浏览器输入阿里云服务器域名(如http://47.107.136.2/),看Nginx是否启动成功:
(1)指定静态文件目录(setting.py)
# STATIC_ROOT 指明了静态文件的收集目录,即项目根目录(BASE_DIR)下的 static 文件夹。
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
(2)关闭DEBUG模式(setting.py)
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False
(3)设置允许访问的域名(setting.py)
ALLOWED_HOSTS = ['*']
(4)生成requirements.txt
项目还会依赖一些第三方 Python 库,为了方便在服务器上一次性安装,我们将全部依赖写入一个叫 requirements.txt 的文本文件中。激活本地的虚拟环境(如果你使用了虚拟环境的话),并进入项目的根目录,运行 pip freeze > requirements.txt 命令:
第一步:激活虚拟环境(该操作是在git bash下操作,如果是不同的控制台,需要更换命令,如windows下是输入:activate)
Administrator@OG4J4A68F2QGH4A MINGW64 /e/tool/django/mysite/venv1/Scripts (master)
$ source activate
(venv1)
Administrator@OG4J4A68F2QGH4A MINGW64 /e/tool/django/mysite/venv1/Scripts (master)
第二步:在项目根目录下运行pip freeze > requirements.txt命令
(venv1)
Administrator@OG4J4A68F2QGH4A MINGW64 /e/tool/django/mysite (master)
$ pip freeze > ./requirements.txt
这时项目根目录下会生成了一个 requirements.txt 的文本文件,其内容记录了项目的全部依赖。
略。git的使用参考廖雪峰Git教程
root@iZ6x44ao8frlx0Z:~# mkdir -p ~/sites/demo.sweeneys.com
root@iZ6x44ao8frlx0Z:~/sites/demo.sweeneys.com# python3 -m venv venv
root@iZ6x44ao8frlx0Z:~/sites/demo.sweeneys.com#
git clone https://gitee.com/sweeneys/mysite.git
先激活虚拟环境,再进入到项目根目录,即 requirements.txt 所在的目录,安装项目的全部依赖:
root@iZ6x44ao8frlx0Z:~/sites/demo.sweeneys.com# source venv/bin/activate
(venv) root@iZ6x44ao8frlx0Z:~/sites/demo.sweeneys.com# cd mysite/
(venv) root@iZ6x44ao8frlx0Z:~/sites/demo.sweeneys.com/mysite# pip3 install -r requirements.txt
(venv) root@iZ6x44ao8frlx0Z:~/sites/demo.sweeneys.com/mysite#
python manage.py collectstatic
(venv) root@iZ6x44ao8frlx0Z:~/sites/demo.sweeneys.com/mysite# python manage.py migrate
(venv) root@iZ6x44ao8frlx0Z:~/sites/demo.sweeneys.com/mysite#
python manage.py createsuperuser
root@iZ6x44ao8frlx0Z:~/sites/demo.sweeneys.com/mysite# python3 manage.py runserver
nginx的配置有很多方式,这里直接在/etc/nginx/sites-available/default 文件配置(这样图快,一般建议不要这样配置)。
首先,打开/etc/nginx/sites-available/default 文件:
然后配置内容如下:
upstream django {
server 127.0.0.1:9000; # 必须和uwsgi.ini里面的socket一致
}
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
server_name sweeneys.blog.com; # 如果域名没有申请,那么并不会生效
location / {
include uwsgi_params;
uwsgi_pass django;
}
location /static {
# alias /root/sites/demo.sweeneys.com/mysite/static;
root /root/sites/demo.sweeneys.com/mysite;
break;
}
}
root@iZ6x44ao8frlx0Z:~# apt-get install uwsgi
在项目的根目录下,也就是有manage.py的目录下,新建一个uwsgi.ini
文件。文件名可以随便,但后缀必须是ini。
root@iZ6x44ao8frlx0Z:~/sites/demo.sweeneys.com/mysite#touch uwsgi.ini
打开uwsgi.ini文件
root@iZ6x44ao8frlx0Z:~/sites/demo.sweeneys.com/mysite#vi uwsgi.ini
在uwsgi.ini 里面输入下面的配置内容:
[uwsgi]
socket = 127.0.0.1:9000
chdir = /root/sites/demo.sweeneys.com/mysite
module=mysite.wsgi
master = true
processes=2
threads=2
max-requests=2000
chmod-socket=666
vacuum=true
1.uwsgi.ini里面的注释不是用#号,为了避免出错,请把注释去掉,只留下配置内容。
2.socket的值的前面部分必须是127.0.0.1,不能是其他的ip地址,不然报错,端口(如上面的9000)可以任意设置。127.0.0.1:9000和nginx的配置 server 127.0.0.1:9000是对应的。
root@iZ6x44ao8frlx0Z:~/sites/demo.sweeneys.com/mysite# uwsgi --ini my_uwsgi.ini