实训日记 | Day 16. 服务器的部署
总述
今天是8月10日,实训的第16天。
上午孟老师演示了如何将Django项目部署在云服务器上。
由于我没有云服务器,因此用装有Centos7的虚拟机来代替。
将项目部署在虚拟机上的过程也不算容易,途中遇到了不少坎坷。例如我的centos在刚开始时连不上网络,rc命令无法上传等等。
靠着不断百度到的CSDN的资料还是艰难地克服了难题,完成了部署。
今天还有部分关于Nginx的还未讲授完,为保证该笔记的一体性,我也加上去了。
SSH设置
启动ssh服务
在打开centos虚拟机后,先用yum install openssh* -y安装开启SSH必备的程序。
而后用vi /etc/ssh/sshd config命令打开sshd的配置文件。
修改内容为:
ListenAddress 0.0.0.0和ListenAddress ::的井号去掉。PermitRootLogin前的井号去掉。
完成这些操作后,用systemctl restart sshd指令重启sshd服务。
查询IP地址
接下来使用ifconfig来查询虚拟机的IP地址。
由于我的centos7没有内置ifconfig命令,因此需要进行额外的安装。
通过yum search ifconfig命令发现,ifconfig命令在net-tools.x86_64这个包里。
因此使用yum install net-tools.x86_64命令来进行安装。
建立SSH连接
在配置完SSH服务和获取IP地址后,在本机上的XShell或者其他能SSH连接的shell中输入ssh ip address进行连接。
通过命令sudo apt install lrzsz unzip -y解压缩上传工具,但由于我安装成功后也无法使用rc命令,因此只能采用scp命令。
形如scp a.txt root@ip:/home的命令,来完成文件的上传。
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi 创建软连接
安装python3
centos自带了一个python2,但是没有python3。因此需要安装一个python3。依照以下步骤即可完成python3的安装。
- 拉取远程包
yum install wget -y - 安装编译时需要的程序
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel python-devel gcc make -y - 在home创建一个目录
mkdir python37 - 切换到目标文件夹
cd python37/ - 获取python的源文件
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz- 直接从官网获取速度会比较慢,因此也可以使用阿里云的源
https://npm.taobao.org/mirrors/python/3.7.2/Python-3.7.2.tar.xz
- 直接从官网获取速度会比较慢,因此也可以使用阿里云的源
- 使用tar命令进行解压
tar -xvJf Python-3.7.2.tar.xz - 进入解压后的目录,指定编译路径
./configure prefix=/usr/local/python3 - 进行文件的编译
make && make install- 如果报错ModuleNotFoundError: No module named ‘_ctypes’,则
yum install libffi-devel –y
- 如果报错ModuleNotFoundError: No module named ‘_ctypes’,则
- 删除旧的python2
rm -rf /usr/bin/python - 创建软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python - 修改yum vim
/usr/bin/yum vim /usr/libexec/urlgrabber-ext-down- 永久换pip源
mkdir ~/.pip - vim
~/.pip/pip.conf - 在前一步文件都迁移过来后,安装工程项目所需的包。
+ `python -m pip install -r r.txt -i https://pypi.tuna.tsinghua.edu.cn/simple`
+ 其中`r.txt`的内容是,工程项目所需要的包的名字。一行一个。
uwsgi部署
uwsgi --ini uwsgi.ini 前台以http方式启动uwsgi
uwsgi -d --ini uwsgi.ini 以后台运行uwsgi
pkill -f uwsgi -9 杀死uwsgi服务
1 | [uwsgi] |
1 | Nginx |
生成文件服务器
- yum install httpd-tools -y
- htpasswd -bc /home/htpasswd python(用户名) python2019(密码)
- 配置文件
1 | server{ |





