
给公司写的一个工具平台,先部署到自己的服务器上进行测试,真是困难重重,此文章仅记录自己踩坑过程和搭建教程,不保证你能按照教程成功搭建,但能把坑提前暴露出来,避免大家重复踩坑!
git/xftp均可#安装python3.7.0
wget http://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
#解压
tar -xvzf Python-3.7.0.tgz
#进入文件夹
cd Python-3.7.0
#执行配置文件
./configure --with-ssl
#编译&安装
make & make install
#建立软连接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
#检测python3版本
python3 -V#安装虚拟环境
pip3 install virtualenv
#新建虚拟环境文件夹
mkdir pyenv
#进入虚拟环境文件夹
cd pyenv
#安装虚拟环境
virtualenv -p python3 myenv
#激活虚拟环境
source /myenv/bin/activate
#安装项目所需组件
pip3 install -r requriements.txt
#pip安装依赖太慢使用douban源
pip install xx -i http://pypi.douban.com/simple/#安装uwsgi
pip3 install uwsgi
#在项目根目录添加 .ini 结尾的uwsgi配置文件
touch uwsgi.ini #(这里的uwsgi可以自己命名)#修改uwsgi.ini配置文件
[uwsgi]
#http只能用于wusgi自己调试 要跟nginx通信需要用sockt 使用内网ip
#http=111.11.11.1:9003
socket = 111.11.11.1:9001
#项目根目录
chdir = /root/mydjango/
#django应用的wsgi文件
wsgi-file = mydjango/wsgi.py
#弃用主进程
master = true
#
vacuum = true
processes = 4
threads = 2
#启动uwsgi之后的pid文件存储位置
pidfile = /root/mydjango/uwsgi.pid
#启动uwsgi产生的日志存放位置
daemonize = /root/mydjango/uwsgi.log这里先不启动uwsgi,后面等nginx安装好了一起启动即可
#安装依赖
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
#下载nginx
wget http://nginx.org/download/nginx-1.16.1.tar.gz
#新建文件夹
mkdir /usr/loacl/nginx
#解压nginx包
tar -zxvf nginx-1.16.1.tar.gz
#进入解压后的nginx目录
cd nginx-1.16.1/
#指定安装路径
./configure --prefix=/usr/local/nginx
#编译安装
make && make install
#修改nginx.conf配置
vim /usr/local/nginx/conf/nginx.conf#修改内容如下
server {
listen 80; #这里80端口要注意别被其他程序占用
listen [::]:80
server_name xxx.xxx.xx.x; #这里的ip要换成外网可以访问的ip
#charset koi8-r;
#access_log logs/host.access.log main;
location /static {
alias /root/mydjango/web/static/; #这里放的是django的静态文件目录
}
location / {
include uwsgi_params;
uwsgi_pass XXX.XX.XX.X:9001;#这里的ip就是上面配置的uwsgi的ip和端口
uwsgi_read_timeout 2;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}#进入文件夹
cd /usr/loacl/nginx/sbin
#启动nginx
./nginx#进入且激活虚拟环境
source /myenv/bin/activate
#迁移数据库
python3 manage.py makemigrations
python3 manage.py migrate
#迁移静态文件
python3 manage.py collectstatic#启动uwsgi
uwsgi -d --ini uwsgi.ini # -d 可以让uwsgi保持在后台运行WARNING: Can’t find section “uwsgi” in INI configuration file uwsgi.ini
#原因:uwsgi.ini头部没有添加[uwsgi] 头部文件 添加完成以后即可vim /usr/local/nginx/conf/nginx.conf#有些nginx安装完成后这句是注释的 打开即可
vim /etc/profile#在末尾加入
PATH=$PATH:/var/local/nginx/sbin
export PATH#然后让配置生效
source /etc/prifile #然后就可以使用nginx快捷命令了