(单/双)服务器部署django+vue项目

本文详细介绍了在服务器上部署Django+Vue项目的全过程,包括Python3环境配置、uWSGI与Nginx的安装及配置、Django与Vue项目上传与运行,以及常见问题的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(单/双)服务器部署django+vue项目只有一点不同。

ssh工具选什么都可以(putty,xshell,Windowspowershell),自行选择。

一.配置python3环境

一般下载的源码包都下载在/usr/local/src目录下
编译安装在/usr/local/目录下(可以根据个人习惯改变)

1.更新系统软件包
执行命令: yum update -y

2.安装软件管理包和可能使用的依赖

  1. 执行命令: yum -y groupinstall “Development tools”
  2. 执行命令: yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

3.下载python源码压缩包

  1. cd进入/usr/local/src目录下(cd /usr/local/src)

  2. 上传或者下载python源码压缩包
    第一种方式:在线下载

    使用wget下载,去python官网找到源码压缩包下载链接,直接wget 下载链接下载,例如:wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
    不过因为python官网在国外,下载速度非常慢,推荐第二种上传。

    第二种方式:本地上传
    本地下载好源码压缩包后,使用xftp或者命令行上传。
    xftp就不说了,傻瓜式操作。

    说一下命令行上传:
    百度云python3.6.6源码压缩包
    百度云python3.7.5源码压缩包
    mac可以使用自带终端,windows可以右击windows徽标,打开windows PowerShell。
    命令格式为:

    	 第一个是本地文件的路径/文件名, 例如 ./index.tar.gz  、 index.html 、 bg.png 等
    
    	第二个是要上传到的服务器的位置  例如  root@0.0.0.0:/var/www
    
    	scp path/filename userName@sseverName:path
    
    
    	如果是要下载服务器的文件到本地 则调换两个位置就可以
    
    	scp userName@sseverName:path path/filename
    
    	输入命令后回车,会提示yes/no,选yes,然后会让你输入密码,
    	输入密码然后回车就可以了。
    

4.解压安装python

解压python源码压缩包,解压命令为  tar zxvf  +压缩包

切换到解压目录
cd ./ Python-3.7.5

预编译指定安装位置
./configure -prefix=/usr/local/python3

编译安装
make && make install

建立软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3 #为python3创建软连接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3  #为pip3创建软连接

以上步骤完成后分别输入python3和pip3查看是否安装并且添加环境变量成功。

4、uWSGI安装

uwsgi也是服务器软件,管理http请求,但是性能不咋滴就把它作为服务器内部中转服务了

通过pip安装
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple uwsgi

为了能在终端的任何位置都能使用uwsgi,为其创建软链接:
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

5、安装django

通过pip安装
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django

为了能在终端的任何位置都能使用django,为其创建软链接:
ln -s /usr/local/python3/bin/django-admin /usr/bin/django-admin 

**6、配置Django + uWSGI **

上传自己的django项目到服务器,方法参考前面上传python源码压缩包方法

试运行自己的django项目,可能会出现以下报错:

		(1)提示sqlite版本问题,如果你的项目没有用到sqlite,就将django项目中的
		settings配置文件中引用sqlite数据库的两行注释掉或者进入sqlite报错文件中把
		检查sqlite版本的函数删掉再或者就是升级sqlite版本(很麻烦)

		(2)如果你用了restframeworkmongoengin又可能会出现引入模块问题。找到你服务器上的
  			python模块中的restframeworkmongoengin文件夹删掉,然后上传你本地的
  			restframeworkmongoengin文件(删除后上传,不要覆盖),一般都在
  			python/Lib/site-packages/下。

		(3)allowhost问题,打开setting配置文件,将allowhosts=[]修改为allowhosts=['*']
		
		(4)connection timeout  27017,没有配置mongodb数据库

假设django项目名为mysite,进入mysite文件夹,新建uWSGI的启动文件 (项目名称.xml):

示例:vi mysite.xml

将以下内容粘贴进去:(**centos复制粘贴又可能会出现首行少字情况**)
<uwsgi>
    <socket>127.0.0.1:8899</socket><!-- 内部端口,自定义 -->
    <chdir>/var/wwwroot/mysite</chdir><!-- 项目路径 -->
    <module>mysite.wsgi</module><!--这是django项目中的wsgi文件,在mysite/mysite目录下-->
    <processes>4</processes> <!-- 进程数 --> 
    <daemonize>uwsgi.log</daemonize><!-- 日志文件 -->
</uwsgi>

7.配置nginx

切换到下载目录
cd /usr/local/src

下载源码包
一般linux最小化安装时,wget不会默认被安装。
(yum -y install wget  )

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

解压源码包
tar zxvf  nginx-1.6.1.tar.gz

切换到解压目录
cd nginx-1.6.1

编译前配置
./configure  --prefix=/usr/local/nginx

如果没什么错误即可进行编译安装
make && make install

至此nginx就安装完了,可以执行下面命令启动它
/usr/local/nginx/sbin/nginx

/usr/local/nginx/sbin/nginx -s reload  -----会重新加载配置文件,nginx服务不会中断
/usr/local/nginx/sbin/nginx -t  ------t就是检查nginx配置检查

如果想让外网访问这个服务器,需要把本机端口80开放:

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

修改nginx配置文件

vi /usr/local/nginx/conf/nginx.conf

全部删除(直接键盘输入dG可以全部删除)

将内容修改为
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    server {
        listen 80;#监听80端口,可以设置多个server监听不同端口
        server_name  127.0.0.1; #改为自己的域名,没域名修改为127.0.0.1
        charset utf-8;
        location / {
           include uwsgi_params;
           uwsgi_pass 127.0.0.1:8997;  #端口要和uwsgi里配置的一样
           uwsgi_param UWSGI_SCRIPT mysite.wsgi;  #wsgi.py所在的目录名+.wsgi
           uwsgi_param UWSGI_CHDIR /data/wwwroot/mysite/; #项目路径

        }
        location /static/ {
        alias /data/wwwroot/mysitestatic/; #静态资源路径,如果没有静态文件可以不配置
        }
    }
}

8.运行项目

进入django目录下,执行
uwsgi -x mysite.xml(这里的xml文件是上面新建的文件)

如果后期项目修改了,需要杀死uwsgi的进程,重新运行uwsgi
ps -aux | grep uwsgi  #查看uwsgi的进程
killall -9 uwsgi  #杀死所有uwsgi进程
uwsgi -x mysite.xml   #重新运行

进入nginx开启nginx服务
cd  nginx安装目录的sbin目录下
./nginx -t  //检查配置文件是否存问题
执行./nginx或者./nginx -s reload   //让nginx重新加载配置文件

9.配置vue项目

	上传vue项目并解压,记住路径.
	
	打开nginx配置文件
		
  	vi /usr/local/nginx/conf/nginx.conf
  	
  	添加server:
  	server {
    listen 8081;#监听8081端口,可以设置多个server监听不同端口
    server_name  127.0.0.1; #改为自己的域名,没域名修改为127.0.0.1
    charset utf-8;
    location / {
       include index index.html index.htm;
       root vue项目路径
    }
}

重新启动nginx

/usr/local/nginx/sbin/nginx -s reload

注意:有些服务器提供商(阿里云等)需要在服务器控制面板中添加安全组规则开启80或者其他需要的端口才可以进行访问

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值