1.首先要安装pip,命令为:
sudo apt-get install python pip
如果pip安装失败,执行以下两条命令:
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
sudo python get-pip.py
2.Ubuntu自带python模块,通常是python2.7版本和python3.5版本。切换2.7版本命令:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
切换3.5版本命令是:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
可以通过命令来查看是否安装成功: python –version。
3.把自己要发布的项目复制放到服务器上,并验证django项目是否可以运行:
!!!如果项目不能在主机跟虚拟机上来回复制,需要重新安装Vmware Tools,在虚拟机的功能栏虚拟机选项中重新安装。
在服务器端运行如下命令:python manage.py runserver 0.0.0.0:8000
可以不用验证!!!前提是代码能够运行。
如果需要安装django用pip进行安装,如:pip install django==2.0.7,==可以指定django版本。
4.配置uwsgi
!!!有时安装uwsgi会失败,那么在安装uwsgi前,执行命令:
apt -get install libpython3.5-dev
①安装uwsgi 命令:pip install uwsgi
②验证uwsgi:
进入到和django项目的manage.py所在的文件夹,运行如下命令:
uwsgi --http :8000 --module XXXX.wsgi
XXXX改成自己项目名称
③配置uwsgi:
在项目同一目录下打开终端,输入如下命令:vi uwsgi.ini
编辑uwsgi.ini并保存(vi的使用方法自行学习…),编辑内容如下:
[uwsgi]
socket = 192.168.141.128:8000 #(IP就是自己虚拟机的IP):8000
chdir = /root/project/XXXX #(就是项目路径,XXXX就是自己的项目名字)
module = Sport.wsgi
master = true
processes = 10
chmod-socket = 664
vacuum = true
验证uwsgi ,在本目录下输入:uwsgi –ini uwsgi.ini 显示如下时:表示成功 * uWSGI is running in multiple interpreter mode *
spawned uWSGI master process (pid: 7158)
spawned uWSGI worker 1 (pid: 7160, cores: 1)
spawned uWSGI worker 2 (pid: 7161, cores: 1)
spawned uWSGI worker 3 (pid: 7162, cores: 1)
pawned uWSGI worker 4 (pid: 7163, cores: 1)
5.生成将项目的静态文件全部集中到一个文件夹中:(这里主要是项目所依赖的各种样式) 如果你的工程的所有静态文件都一同一个文件夹下,则跳过此步骤。
首先修改项目settings.py,添加如下内容:
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
在项目目录下输入如下命令:
python manage.py collectstatic
完成后,会发下目录下多了一个static文件夹。
6.安装nginx
安装nginx命令为:sudo apt-get install nginx
nginx的常规操作 有:
/etc/init.d/nginx start --启动
/etc/init.d/nginx stop --关闭
/etc/init.d/nginx restart --重新启动
可以尝试用主机连接服务器,成功会出现如下图:
7.配置nginx.conf
在项目同一级目录下打开终端,输入如下命令:
vi nginx.conf
编辑内容如下:
upstream django {
server 192.168.141.128:8000; #此处与之前是对应的!!
}
server {
listen 80;
server_name localhost;
charset utf-8;
client_max_body_size 75M;
location /static {
alias /root/project/XXXX/static; #项目static文件的路径
}
location / {
uwsgi_pass django;
include /etc/nginx/uwsgi_params;
}
}
将nginx.conf 移动到/etc/nginx的配置文件目录下:
输入如下命令:
cd /etc/nginx/sites-enabled
进入此文件夹
再输入如下命令:
ln -s /root/project/nginx.conf nginx.conf
将刚才的nginx.conf复制到此文件夹下并且也命名为nginx.conf ,同时将此文件夹下的defaule文件删除:
命令是:rm default
此外,也将这个文件复制到/etc/nginx/sites-available文件夹下并删除default文件。
重新启动nginx:
/etc/init.d/nginx restart
验证nginx配置:
回到项目同一目录下,打开终端输入命令:uwsgi –ini uwsgi.ini 启动项目,然后在本地电脑登录服务器ip地址即可(不用指定端口,现在是默认访问80端口,而非8000端口)。
!!注意:如果出现静态文件无权访问的情况,vi /etc/nginx/nginx.conf,在第一行添加user root,然后再次重启nginx即可。
8.全部配置完成后,启动服务器只需要两个命令:
/etc/init.d/nginx restart
打开项目终端,输入:
uwsgi --ini uwsgi.in
语言切换需要在设置语言中下载安装包,xim是搜狗拼音输入法。
9.重要 ! 重要!非常重要!!!现在Ubuntu18版本坑太多,建议16版本。不懂多百度。