向云服务器部署django项目

1. ftp服务器的搭建

为了把项目文件上传至云服务器,我们需要在云服务器端设置ftp服务,进行文件传输。

(1)云服务器端

a. 首先,我们需要安装vsftpd,输入命令

    sudo apt-get install vsftpd -y

b. 安装成功后,我们需要建立一个ftp专用账户。

    检查一下nologin文件夹的位置,一般在/usr/sbin/nologin或者/sbin/nologin下。若没有这个文件夹,就在/sbin下新建一个。

 进入nologin之后,输入命令:

    useradd -d %STORAGE_PATH% -s /sbin/nologin %USER_NAME%

 其中,storage_path 是上传文件之后的保存位置,user_name是进行ftp链接时使用的用户名。

    接着输入:

    passwd %USER_NAME%  

    为你刚才新建的用户设置密码。

    之后,需要为这个用户授权了,输入命令:

 chown -R %USER_NAME%.%USER_NAME% %STORAGE_PATH%

c. 配置vsftp

   编辑vsftp配置文件,命令如下:

   vi /etc/vsftpd.conf

   将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”

   取消如下配置前的注释符号:

   local_enable=YES

   write_enable=YES

   chroot_local_user=YES

   chroot_list_enable=YES

   chroot_list_file=/etc/vsftpd.chroot_list

   保存退出

   编辑/etc/vsftpd.chroot_list文件(若不存在,就新建一个),将ftp的帐户名添加进去,保存退出

d. 修改shell

   vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去

e. 重启vsftpd服务

 service vsftpd restart

(2)本地端

为了向服务器端上传文件,本地需要安装lftp

sudo apt-get install lftp

然后,输入命令

lftp username:password@127.0.0.1:21

127.0.0.1是本地IP,此处应修改为你的云服务器的公网IP地址。之后就会进入lftp的命令行,此时的操作目录已经是云服务器端了。

上传文件有如下命令:

put %FILE_NAME%      上传单个文件

mput *.txt                     批量上传txt文件

mirror %FOLDER_NAME%  上传整个文件夹 

然后你的代码就已经上传到云服务器了,接下来就要把他部署到apache上了。

2. apache + mod_wsgi + django

首先安装apache:

sudo apt-get install apache2

需要对配置文件做一些修改,在/etc/apache2/apache2.conf中,最后一行添加:

ServerName localhost

然后安装wsgi:

sudo apt-get instal libapace2-mod-wsgi

接着重启服务器:

apachectl restart

下一步需要把django项目写入配置文件中。在apache2.conf末尾添加:

WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIPythonPath /path/to/mysite.com

<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

接下来,需要更改项目所在目录的访问权限。输入以下命令:

chmod -R 775 /path/to/mysite.com

再次重启服务器。

如果服务器上还未安装django的话,输入:

pip install Django==1.8.3

至此,配置已基本完成。从公网IP访问,可看到项目的页面。

 

    

原文地址:https://www.cnblogs.com/gaminoliu/p/4725120.html