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:[email protected]: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访问,可看到项目的页面。