sudo install git # 下载安装过 git 更换镜像源
git clone https://github.com/waketzheng/carstino
sudo ./carstino/change_ubuntu_mirror_sources.py
安装python3.8
wget https://mirrors.huaweicloud.com/python/3.8.2/Python-3.8.2.tar.xz
解压安装包
tar xf Python-3.8.2.tar.xz
cd Python-3.8.2 #进入python 更改配置文件出现这样是就可以了
./configure --enable-optimizations
这步最好在安装Python前执行,不然的话 可能会在更新 Pythonpip的时候会报错,如果后面更新pip 的时候报错的话,返回来 安装这些依赖包,重新安装Python
sudo apt install -y build-essential checkinstall
sudo apt install -y libreadline-gplv2-dev libncursesw5-dev libssl-dev tk-dev zlib1g-dev
sudo apt install -y libsqlite3-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev libssl-dev
sudo make altinstall
python3.8 -V 检查是不是python3.8
到这里 基本上就可以说是 Python3.8安装好了 解决 软连接问题 后续 更新pip
添加python3的软链接
ln -s /usr/local/bin/python3.8 /usr/bin/python
python -m pip install --upgrade pip
安装 虚拟环境
sudo pip install virtualenv
sudo pip3 install virtualenvwrapper
修改用户家目录下的配置文件.bashrc,添加如下内容:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
使用source .bashrc命令使配置文件生效,就可以创建虚拟环境了
如果没有workon 再次编译 .bashrc 然后即可
安装MySQL
sudo apt install mysql-client mysql-server
安装ngix
apt install ngix
ngix 启动命令 /etc/init.d/ngix start
导出MySQL数据库数据转储文件和数据,可以通过git 传上去再拉下来
也可 scp xxx.sql root@ip
进入MySQL数据库:
source /root/xxx.sql 语法 导入
新的服务器没有本地Django第三方文件
先pip freeze > requirements.txt 把所有的包放到requirements.txt文件
在git到远端安装
我就这几个包 pip install
Django==2.1.5
django-pure-pagination==0.3.0
django-ranged-response==0.2.0
django-simple-captcha==0.5.9
Pillow==8.0.1
PyMySQL==0.10.1
pytz==2020.1
six==1.15.0
DjangoUeditor==1.8.143
如果有 requirements.txt 这个文件 就直接 pip install -r requirements.txt 就可安装
将项目推到服务器后静态文件都失效了,所以要收集静态文件
# 静态文件
STATIC_URL = '/static/'
# 注释掉
#STATICFILES_DIRS = [
# os.path.join(BASE_DIR, 'static')
#]
STATIC_ROOT = os.path.join(BASE_DIR,'static/')
随后迁移
python manage.py collectstatic
安装 uwsgi
pip install uwsgi
新建uwsgi.ini文件
#添加配置选择
[uwsgi]
#配置和nginx连接的socket连接
#socket = 127.0.0.1:8000
#配置项目路径,项目的所在目录
chdir = /root/long-range/
#配置wsgi接口模块文件路径
module = 项目(含setting的文件).wsgi
#配置启动的进程数
processes = 4
#配置每个进程的线程数
threads = 2
#配置启动管理主进程
master = True
#配置存放主进程的进程号文件
pidfile = uwsgi.pid
#配置dump日志记录
daemonize = uwsgi.log
#虚拟环境
virtualenv = /root/.virtualenvs/blog
启动 uwsgi : uwsgi --ini uwsgi.ini
查看启动进程 : ps -aux | grep uwsgi
表示启动成功,然后去搞定nginx
在 cd /etc/nginx
将其配置文件放到 http 中 结尾即可
在nginx配置中 箭头处为 域名 有域名就写域名没有域名的话 也可写服务器IP
此处为提示 静态和动态文件的位置 上面两个为静态,下面一个为动态
# configuration of the server
server {
# 你的网站监听的端口,此处先用8000端口测试,正式部署可以改为80或其他
listen 80;
# 你的网站的域名
server_name *.com; # 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/mysite/media; # 你的media的文件目录
}
location /static {
alias /home/mysite/collected_static; # 你的项目收集的静态文件目录(后边会将收集静态文件)
}
# Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass 127.0.0.1:8000;
include uwsgi_params; # uwsgi_params 文件所在目录
}
}
如果是 media 文件夹下就让他去 /root/long-range/media 即你项目下media 文件夹的位置;
如果是static 的话 也去 /root/long-range/static 动态请求交给 uwsgi
然后杀掉进程
启动nginx : /etc/init.d/nginx restart
启动后 差不多就可以访问了
服务器IP 页面访问如果一直转圈圈 到阿里的实例下的服务器更多安全组配置,配置规则 打开80端口
完成后 加入安全组 ,把更才的加入安全组
本地安装富文本并不适配,所以要卸载重新安装
没有zip 先 sudo apt install zip
unzip 解压包
在进入 文件夹 用 python setup.py install
在服务器启动后 没有css 将 nginx 配置文件 user www-date; 改为 user root;
遇到报错解决后重启 uwsgi
uwsgi --reload uwsgi.pid
最后富文本的解压包
到这里去git clone https://gitee.com/yangcunermen/rich-text