百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Django项目部署到服务器 django项目部署到服务器apache

itomcoil 2024-12-16 13:44 21 浏览

1. 安装python3.8

1.1 安装相关依赖包

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 libffi-devel

项目python版本为3.8.5, django版本为3.1.1

1.2 下载并解压python3.8.5

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 libffi-devel

1.3 编译安装

cd Python-3.8.5/./configure --prefix=/usr/local/python3makemake install

1.4 创建软链接

ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3

2. 安装项目相关库

2.1 项目中所使用的库可以导出到文本文件中

# 从开发环境中导出所安装的库到requirements.txt文件中

pip freeze > requirements.txt

2.2 在服务器中安装requirements.txt中的库

pip install -r requirements.txt

2.3 安装uwsgi

pip install uwsgi

3. 安装mysql

3.1 下载

wget http://tel.mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-5.7.34-el7-x86_64.tar.gz

3.2 拷贝安装包到/usr/local/目录下,并解压

# 重命名压缩包

mv mysql-5.7.34-el7-x86_64.tar.gz mysql.tar.gztar zxf mysql.tar.gz
# 进入mysql目录
cd mysql

3.3 创建data目录

cd mysqlmkdir data

3.4 创建mysql用户并设置权限

useradd mysql -s /sbin/nologin -M
# 回到/usr/local目录cd ..
# 设置mysql目录权限
chown -R mysql.mysql mysql

3.5 初始化数据库

cd mysql
# 执行后,屏幕会提示root临时密码,需要记录下来
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  • 这一步可能会发生错误

bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

  • 解决
yum install libaio

3.6 编辑my.cnf文件


wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgztar zvxf Python-3.8.5.tgz

3.7 创建error.log

cd Python-3.8.5/./configure --prefix=/usr/local/python3makemake install

3.8 拷贝启动文件到/etc/init.d目录

ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3

3.8.1 修改启动文件中的路径

# vim /etc/init.d/mysqld
# 修改basedir和datadir
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

3.9 启动mysql

/etc/init.d/mysqld start

3.10 创建软链接

ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock

3.11 使用临时密码登录数据库并重新为root设置密码

cd /usr/local/mysql
# 回车后会提示输入密码,输入临时密码回车即可
bin/mysql -uroot -p

# 登录之后修改密码
mysql> set password = password('123456');
mysql> alter user 'root'@'localhost' password expire never;
mysql> flush privileges;

4. 安装nginx

4.1 下载

wget http://nginx.org/download/nginx-1.17.7.tar.gz

4.2 安装相关依赖包

yum install -y pcre pcre-devel openssl openssl-devel gcc

4.3 创建nginx用户

useradd nginx -s /sbin/nologin -M

4.4 安装nginx

tar zxf nginx-1.17.7.tar.gz
cd nginx-1.17.7
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install

5. 安装redis

5.1 安装

wget http://download.redis.io/releases/redis-2.8.17.tar.gz
tar xzf redis-2.8.17.tar.gz
mv redis-2.8.17 redis
cd redis
make 

5.2 启动

cd src
./redis.server

cd src
./redis.server

6. uwsgi配置

# 在项目根目录下创建uwsgi.ini文件

[uwsgi]
# 配置nginx连接的socket连接 /data/web/project为项目目录
socket=/data/web/project/project.sock
# 配置uwsgi.pid所在的目录
pidfile=/data/web/project/uwsgi.pid
# 进程数
processes=8
# 每个进程的线程数
threads=2
# 项目路径,项目所在的目录
chdir=/data/web/project
# wsgi接口模块文件路径
module=project.wsgi
# 启动管理主进程
master=true
enable-threads=true
logdate=true
limit-as=6048
# 日志文件
daemonize=/data/web/project/run.log

6.1 启动

# -d表示后台启动
uwsgi -d --ini uwsgi.ini

6.2 相关操作

# 停止
uwsgi --stop uwsgi.pid
# 重启
uwsgi --reload uwsgi.pid

7. 配置nginx

7.1 nginx.conf

#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
include vhost/*.conf;
}

7.2 创建vhost目录

mkdir vhost
cd vhost

7.3 项目配置文件

# vim www.xxx.com.conf
server {
    listen 80;
    server_name www.xxx.com;
    charset utf-8;
    client_max_body_size 50M;
  
    location / {
        uwsgi_pass unix:/data/web/project/project.sock;
        include uwsgi_params;
    }
  
    location /static {
       alias /data/web/project/static;
    }
  
    location /media {
      alias /data/web/project/media;
    }
}

8. 关于css, js 丢失问题

代码迁移至服务器前,使用命令 python manage.py collectstatic 收集静态文件

python manage.py collectstatic

相关推荐

PS小技巧 调整命令,让人物肤色变得更加白皙 #后期修图

我们来看一下如何去将人物的皮肤变得更加的白皙。·首先选中图层,Ctrl键加J键复制一层。·打开这里的属性面板,选择快速操作删除背景,这样就会将人物进行单独的抠取。·接下来在上方去添加一个黑白调整图层,...

把人物肤色提亮的方法和技巧

PS后期调白肤色提亮照片的方法。一白遮百丑,所以对于Photoshop后期来说把人物肤色调白是一项非常重要的任务。就拿这张素材图片来说,这张素材图片人脸的肤色主要偏红、偏黄,也不够白皙,该怎样对它进行...

《Photoshop教程》把美女图片调成清爽色彩及润肤技巧

关注PS精品教程,每天不断更新~~室内人物图片一般会偏暗,人物脸部、肤色及背景会出现一些杂点。处理之前需要认真的给人物磨皮及美白,然后再整体润色。最终效果原图一、用修补工具及图章工具简单去除大一点的黑...

PS后期对皮肤进行美白的技巧

PS后期进行皮肤美白的技巧。PS后期对皮肤进行美白的技巧:·打开素材图片之后直接复制原图。·接下来直接点击上方的图像,选择应用图像命令。·在通道这里直接选择红通道,混合这里直接选择柔光,然后点击确定。...

493 [PS调色]调模特通透肤色

效果对比:效果图吧:1、光位图:2、拍摄参数:·快门:160;光圈:8;ISO:1003、步骤分解图:用曲线调整图层调出基本色调。用可选颜色调整图层调整红色、黄色、白色和灰色4种颜色的混合比例。用色彩...

先选肤色再涂面部,卡戴珊的摄影师透露:为明星拍完照后怎么修图

据英国媒体12月17日报道,真人秀明星金·卡戴珊终于承认,她把女儿小北P进了家族的圣诞贺卡,怪不得粉丝们都表示这张贺卡照得非常失败。上周,这位39岁的女星遭到了一些粉丝针对这张照片的批评,她于当地时间...

如何在PS中运用曲线复制另一张照片的色调

怎样把另一张作品的外观感觉,套用到自己的照片上?单靠肉眼来猜,可能很不容易,而来自BenSecret的教学,关键是在PS使用了两个工具,让你可以准确比较两张照片的曝光、色调与饱和度,方便你调整及复制...

PS在LAB模式下调出水嫩肤色的美女

本PS教程主要使用Photoshop使用LAB模式调出水嫩肤色的美女,教程调色比较独特。作者比较注重图片高光部分的颜色,增加质感及肤色调红润等都是在高光区域完成。尤其在Lab模式下,用高光选区调色后图...

在Photoshop图像后期处理中如何将人物皮肤处理得白皙通透

我们在人像后期处理中,需要将人物皮肤处理的白皙通透,处理方法很多,大多数都喜欢使用曲线、磨皮等进行调整,可以达到亮但是不透,最终效果往往不是很好,今天就教大家一种如何将任务皮肤处理得白皙通透,希望能帮...

PS调色自学教程:宝宝照片快速调通透,简单实用!

PS调色自学教程:宝宝照片快速调通透。·首先复制图层,然后选择进入ACR滤镜,选择曲线锁定照片的亮部,也就高光位置,其他部位补亮一点,尤其是阴影的部位补亮多一些,让画面的层次均匀一点。·然后回到基本项...

【干货】如何利用PS进行人物美化

人物图像美化在Photoshop中非常常用,Photoshop作为一款功能强大的图像处理软件,不仅可以对人像进行基本的调色、美化和修复等处理,还可以改变人物的线条和幅度,如调整脸部器官和脸型的大小、调...

教大家一种可以快速把肤色处理均匀的方法@抖音短视频

快速把肤色处理均匀的方法。今天教大家一种可以快速把肤色处理均匀的方法。像这张照片整体肤色走紫红色,但是局部偏黄缘处理起来非常的麻烦。其实我们只需要新建空白图层,图层混合模式更改为颜色,再选择画笔工具把...

PS调色教程 利用RAW调出干净通透的肤色

要么不发,要么干货。后期教程来噜~用RAW调出干净通透的肤色。这次终于不会原片比PS后好看了吧。如果你依然这么觉得,请不要残忍的告诉我这个事实,泪谢TAT)附送拍摄花絮,感谢各位的支持更多风格请关注m...

photoshop后期皮肤变白的技巧

PS后期皮肤变白的技巧。1.PS后期让皮肤变白的方法有很多种,接下来教你一种非常简单容易上手的方法。2.打开素材图片之后,直接在小太极下拉框的位置添加一个纯色调整图层,颜色设置一个纯白色,点击...

Photoshop调出人物的淡雅粉嫩肤色教程

本教程主要使用Photoshop调出人物的淡雅粉嫩肤色教程,最终的效果非常的通透迷人,下面让我们一起来学习.出自:86ps效果图:原图:1、打开原图复制一层。2、用Topaz滤镜磨皮(点此下载)。3、...