阿里云服务器部署django+vue项目

1.环境安装

# python3.6版本
https://blog.csdn.net/qq_42693848/article/details/88900553

# mysql8.0版本
https://blog.csdn.net/yzf279533105/article/details/105152525

# redis
https://blog.csdn.net/Mikeoperfect/article/details/79468944

# 虚拟环境
https://blog.csdn.net/qq_41621362/article/details/89606522

2.进入虚拟环境下载第三方包

# 使用批量下载命令  -i 配置豆瓣源
pip install -r requirements.txt -i https://pypi.douban.com/simple
'''
如果批量下载报错极大可能是三方包版本问题,可以先下载报错的那个包
'''
# 例如 错误信息是django-haystack的错
# 解决:
# 如果是因为setuptools版本过低,就升级版本:
pip install --upgrade setuptools
# 如果升级后依然报错,就安装setuptools-scm
pip install setuptools_scm
# 之后重新安装django-haystack,成功:
pip install django-haystack==2.8.1

=========================================================

# 错误信息是mysqlclient的错
# 1.先安装 客户端程序:
sudo apt install -y mysql-client
# 2.基于python安装mysqlclient需要依次安装以下库:
sudo apt-get install libmysqlclient-dev
sudo apt install libssl-dev 
sudo apt install libcrypto++-dev 
# 3.使用pip安装mysqlclient
sudo pip3 install mysqlclient
# 或者在虚拟环境中用如下命令安装指定版本
pip install mysqlclient==2.0.1

  • 1.前端vue需要使用 npm run build 打包成dist文件夹
  • 2.后端django直接拖项目
  • 3.使用文件传输 将前后端项目拖入到服务器中的存放项目的文件夹

3.在服务器上运⾏代码,看是否能直接运⾏起来(排除代码因素导致的部署出错)

4.使⽤uwsgi来部署项⽬(uwsgi,uWSGI,wsgi)配置好uwsgi

# 首先使用pip下载uwsgi包
pip install uwsgi
  • 与项目同目录下创建uwsgi_file文件夹存放uwsgi日志等文件
  • cd进入uwsgi_file文件夹中使用 vi uwsgi.ini 创建并打开uwsgi.ini文件将以下内容粘贴进去,esc + :wq 保存并退出
[uwsgi]
# 使⽤Nginx连接时使⽤,Django程序所在服务器地址和端⼝号
socket=127.0.0.1:3399
#http=172.16.240.177:8000
# 项⽬⽬录绝对路径
chdir=/home/peter/opwf_program/opwf_project/opwf
# 项⽬中wsgi.py⽂件的⽬录,相对于项⽬⽬录
wsgi-file=opwf/wsgi.py
# 进程数(机器核数的1倍)
processes=4
# 线程数
threads=50
# uwsgi服务器的⻆⾊
master=True
# 存放进程编号的⽂件
pidfile=uwsgi.pid
# ⽇志⽂件
daemonize=uwsgi.log
# 指定依赖的虚拟环境
virtualenv=/home/peter/.virtualenvs/opwfenv

5.配置nginx

  • 基于APT源安装nginx
sudo apt-get install nginx
  • 安装好的文件位置(默认):
/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志
  • 安装完成后在 /etc/nginx/conf.d 下 vi django.conf 文件创建并打开django.conf

  • 配置nginx⾥的django配置

server {
    
    
	 listen 8899;
	 server_name 172.16.240.177;
	 
	 location / {
    
    
	 include uwsgi_params;
	 uwsgi_pass 127.0.0.1:3399;  # 这里对应的是uwsgi.ini文件中socket
	 uwsgi_ignore_client_abort on;
	 }
}
  • 配置nginx⾥的vue配置
server {
    
    
	 listen 8888; #1.你想让你的这个项⽬跑在哪个端⼝
	 server_name 172.16.240.177; #2.当前服务器ip
	 location / {
    
    
	 root /home/peter/opwf_program/opwf_vue/dist; #3.dist⽂件的位置(我是直接放在home⽬录下了)
	 try_files $uri $uri/ /index.html; #4.重定向,内部⽂件的指向(照写)
	 }
 }

猜你喜欢

转载自blog.csdn.net/weixin_46237597/article/details/114110109
今日推荐