阿里云服务器替换Python3.8,,安装MySQL,Nginx,部署Django项目,和部分问题的解决办法。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值