cenos7.9+nginx+mysql5.5+django3.0+uwsgi+python3 部署过程(亲测有效)

一,安装python3
1 安装python3之前的库环境
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
2 2 yum install gcc -y
3 wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
4 mv Python-3.6.5.tgz /usr/local/
5 mkdir /usr/local/python3
6 cd /usr/local/
7 tar -xvf Python-3.6.5.tgz
8 cd /usr/local/Python-3.6.5/
为下一步编译做准备
9 ./configure --prefix=/usr/local/python3
上面的意思是将该软件安装在 /usr/local/python3下面,执行文件就会安装在 /usr/local/python3/bin
10 make&&make install

11 ln -s /usr/local/python3/bin/python3 /usr/bin/python3
12 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

二 安装mysql(我安装的是5.5)
检测系统是否存在自带的mysql
1 yum list installed | grep mysql
如果有 yum -y remove mysql-libs.x86_64
2 wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
3 rpm -ivh mysql-community-release-el6-5.noarch.rpm
查看一下是否已经有mysql可安装文件
4 .yum repolist all | grep mysql
5 yum install mysql-community-server
启动mysql
6 service mysqld start
连接客户端
7 mysql -u root 默认是没有密码的
8 use mysql;
9 update user set password=PASSWORD("你的密码") where User='root';
10 flush privileges;
开启远程连接
11 grant all on . to root@'%' identified by 'root' with grant option; by后面是密码
创建表
12 CREATE DATABASE web DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
13 用navicate 进行数据的传输

因为我的服务器就一个web项目,因此我没配置python 虚拟环境

创建虚拟环境方法
创建虚拟环境
pip3 install virtualenv virtualenvwrapper -i https://pypi.douban.com/simple
find / -name virtualenvwrapper.sh
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
mkdir $HOME/.virtualenvs
vim ~.bashrc
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/python3/bin/virtualenvwrapper.sh #根据上边查找到的路径调整export
export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenv
source /usr/local/python3/bin/virtualenvwrapper.sh
source ~/.bashrc
source 如果报错 no module virtualenvwrapper ,修改 virtualenvwrapper.sh 中 VIRTUALENVWRAPPER_PYTHON="$(command \which python)" 将python 换成python3

mkvirtualenv companyweb -p python3
workon companyweb deactivate 退出虚拟环境

三 将代码上传
这里我推荐pycharm 专业版本的tools 上传到服务器,如果本地改代码,可以直接通过按钮直接同步更新


用sftp 的方式进行传输

配置下服务器的ssh,点击apply,
设置好连接后 接下来配置

切记 一定要服务器上创建和项目同名的文件夹,最后点击ok
在项目根目录下鼠标右键

就可以远程传代码的。(ps:如果更改了某一个文件,可以在更改的文件下做同样的操作)

代码上传后,先安装依赖 ,pip3 freeze > req.txt 即可生成依赖文件 pip3 install -r req.txt
安装依赖过程中可能会出现mysqlclient的问题
直接这么干 yum install python-devel mariadb-devel -y
pip3 install mysqlclient
安赖安装成功后 在项目根目录 运行python3 manage.py runserver 0.0.0.0:9999 (这里要提前将setting文件中的allowed_hosts改成['*'])
这样项目就可以在服务器上启动了
四 配置uwsgi
pip3 isntall uwsgi
先测试一下
进入项目根目录
uwsgi --http :80 --module companyweb.wsgi companyweb是你的项目名称
此时只会显示结构,静态文件并没有显示
这么做 这时候 要将setting.py文件中 将STATICFILES_DIRS=[
os.path.join(BASE_DIR,'static')
]修改成
STATIC_ROOT=os.path.join(BASE_DIR,'static')
然后 python3 manage.py collectstatic
这样操作后,在没有配置nginx 后没有反应的
先配置uwsgi
在项目的根目录下创建个uwsgi.ini的配置文件
内容如下
[uwsgi]
socket=127.0.0.1:8011 与nginx 做通信的
chdir=/opt/companyweb/ 你项目的目录
module=companyweb.wsgi wsgi.py 的路径
process=4 进程数
master=true 启用主线程
daemonize = uwsgi/uwsgi.log uwsgi 日志存放路径

五 配置nginx
yum install nginx
service nginx start
service nginx status
service nginx stop
配置文件设置
在/etc/nginx/conf.d文件夹下面创建个以conf为后缀名的配置文件
内容如下

configuration of the server

server {
# the port your site will be served on
listen 8000;
# the domain name it will serve for
server_name .example.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 /path/to/your/mysite/media;  # your Django project's media files - amend as required
}

location /static {
    alias /path/to/your/mysite/static; # your Django project's static files - amend as required
}

# Finally, send all non-media requests to the Django server.
location / {
    uwsgi_pass  django;
    include     /path/to/your/mysite/uwsgi_params; # the uwsgi_params file you installed
}

}

配置完成后
重启下nginx 即可 ip+端口的形式访问你的项目的
部署完成

posted @ 2021-09-03 15:37  小约翰逊  阅读(61)  评论(0)    收藏  举报