###在这里我们演示的是阿里云控制台 腾讯的也叫控制台
ssh 写用户名@写公网IP
第一条
sudo apt update
第二条
sudo apt upgrade
sudo apt install python3-pip
sudo pip3 install virtualenv
分析原因
locale是用来设置软件运行的语言环境,所以语言环境设置有问题
解决故障 复制这三条 命令 一条一条输入 在登入云服务器
重新设置语言环境,最简单的解决办法:
第一条
echo "export LC_ALL=en_US.UTF-8" >> /home/XXX/.bash_profile 代表(特定用户)
第二条
echo "export LC_ALL=en_US.UTF-8" >> /etc/profile 代表(所有用户)
第三条
exit
然后重新登录,使用locale指令查看变量
###开始安装
sudo pip3 install virtualenvwrapper
输入命令
vi .bashrc
复制这三条命令到文档
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
激活
source .bashrc
mkvirtualenv 项目名
退出虚拟环境
deactivate
安装 mysql数据库
sudo apt-get install mysql-server mysql-client
###配置数据库 输入一遍密码在输一遍密码
sudo apt-get install filezilla
###将虚拟环境pip里面的插件放到桌面上
###进入虚拟环境 把备份的pip插件 导入到当前云虚拟环境上
mkdir conf
###vi 第一个文件 文件名是你的项目名加上 项目名_nginx.conf将里面将以下信息复制填写带双引号的信息
* Socket connection established *
Welcome to Ubuntu 16.04.5 LTS (GNU/Linux 4.4.0-130-generic x86_64)
# the upstream component nginx needs to connect to
upstream django {
# server unix:///path/to/your/mysite/mysite.sock; # for a file socket
server "外网iP"; # for a web port socket (we'll use this first)
}
# configuration of the server
server {
# the port your site will be served on
listen 80;
# the domain name it will serve for
server_name "你的公网地址"; # substitute your machine's IP address or FQDN
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
# Django media
location /media {
alias /home/ubuntu/"目录名"/static/media; # 指向django的media目录
}
location /static {
alias /home/ubuntu/"目录名"/static; # 指向django的static目录
}
# Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass django;
include uwsgi_params; # the uwsgi_params file you installed
}
}
# mysite_uwsgi.ini file
[uwsgi]
# Django-related settings
# the base directory (full path)
chdir = /home/ubuntu/"项目名"
# Django's wsgi file
module = "项目名".wsgi
# the virtualenv (full path)
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 10
# the socket (use the full path to be safe
socket = 127.0.0.1:8000
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
virtualenv = /home/ubuntu/.virtualenvs/"虚拟环境"
#logto = /tmp/mylog.log
STATIC_URL = '/static/'
#STATICFILES_DIRS = [
# os.path.join(BASE_DIR, 'static'),
#]
STATIC_ROOT = os.path.join(BASE_DIR,'static/')
MEDIA_URL = '/media/'
# 没加入富文本 不用复制这些
# 放在django项目根目录,同时也需要创建media文件夹
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
CKEDITOR_UPLOAD_PATH = 'upload/'
sudo apt-get install nginx
pip install uwsgi
ps aux|grep nginx
sudo ln -s /home/ubuntu/"项目名"/conf/"项目名"_nginx.conf /etc/nginx/conf.d
###确认称没成功
###重启nginx
python manage.py collectstatic
###成功
进入项目里面的conf里面的uwsgi.ini 把前面的域名去掉
进入项目里面的conf里面nginx.conf 把外网名改成 你的域名
1、创建uwsgi文件夹和相关文件
创建uwsgi文件夹
mkdir -p /root/app/test/uwsgi
cd /root/app/test/uwsgi
创建uwsgi.pid,并保存退出
vi uwsgi.pid
创建uwsgi.status,并保存退出
vi uwsgi.status
touch uwsgi.pid
touch uwsgi.status
说明:uwsgi.pid文件用来重启和停止uwsgi服务,uwsgi.status用来查看uwsgi的服务状态
2、修改uwsgi配置文件
修改uwsgin.ini配置文件,添加pid文件和status文件的配置
stats=%(chdir)/uwsgi/uwsgi.status
pidfile=%(chdir)/uwsgi/uwsgi.pid
保存退出
3、启动uwsgin配置文件
完成配置后,可以用如下命令操作uwsgi服务
uwsgi --ini uwsgi.ini
如果uwsgi已经启动,无法再次启动,可以尝试杀死进程或者重启服务器(我使用的是重启服务器的方法)
执行完成后,查看uwsgi的pid号
cat uwsgi/uwsgi.pid
查看一下uwsgi的进程
ps aux | grep uwsgi
发现主进程的pid与我们的pid文件里存的是一样的
到此就可以使用重启、停止uwsgi服务了
重启uwsgi
uwsgi --reload uwsgi/uwsgi.pid
停止uwsgi
uwsgi --stop uwsgi/uwsgi.pid
停止uwsgi服务后,用ps命令查看uwsgi的进程发现已经不存在了
开启uwsgi
uwsgi --ini uwsgi.ini
uwsgi进程和worker的状态很详细
uwsgi --connect-and-read uwsgi/uwsgi.status
到此配置完成,python文件修改后可以重启uwsgi服务来生效。