day55-项目上线

1创建虚拟环境

指定python版本创建虚拟环境

virtualenv --no-site-packages -p /usr/local/python3/bin/python3 freshenv

安装三方库

/home/env/freshenv/bin/pip3 install -r /home/src/fresh_shop/requirement.txt

服务器中启动项目

/home/env/freshenv/bin/python3 /home/src/fresh_shop/manage.py 
runserver 0.0.0.0:80

在中间件中需要将'/media/./','/static/./'加入免登陆网页,才能显示图片等文件
debug改为False
工程文件下的路由下添加以下代码

from django.urls import path, include, re_path
from django.contrib.staticfiles.urls import static
from fresh_shop.settings import MEDIA_URL, MEDIA_ROOT,STATICFILES_DIRS
from django.views.static import serve

re_path(r'^static/(?P.*)$', serve, {"document_root": STATICFILES_DIRS[0]}),
re_path(r'^media/(?P.*)$', serve, {"document_root": MEDIA_ROOT}),

查看端口

netstat -lntp

使用文件启动django:
在src文件下新建一个freshshop.sh文件
并在文件中写入

/home/env/freshenv/bin/python3 /home/src/fresh_shop/manage.py 
runserver 0.0.0.0:80

使用命令启动文件启动django

./freshshop.sh

给该文件修改权限

chmod -R 777 freshshop.sh

使用nohup启动并在后台运行

nohup ./freshshop.sh &

启动并置于后台运行并将自动生成nohup.out文件记录相关访问的信息

2使用nginx和uwsgi启动网址

2.1nginx配置安装

nginx处理静态文件media/static等功能

yum install epel-release 添加nginx存储库
yum install nginx  安装nginx
systemctl start nginx 运行nginx
systemctl status nginx 查看nginx的状态
systemctl enable nginx 系统启动时启动nginx

tail -f 文件名 

查看文件的最后一行并实时进行更新(经常用到开发中用来代替查看情况下的vim)

2.2uwsgi配置安装

uwsgi - 处理动态请求,访问首页/登陆/添加购物车等

/home/env/freshenv/bin/pip3 install uwsgi 安装uwsgi服务器

在home下的conf文件夹中新建frsshnginx.conf
并在里面写入

server {
    # 监听端口
      listen    80;
      server_name 112.74.61.160;
      # 配置请求成功与失败的日志文档
      access_log /home/logs/freshaccess.log;
      error_log /home/logs/fresherror.log;
        # 配置网页访问
    location / {
       include uwsgi_params;
       uwsgi_pass 127.0.0.1:8890;
    }
    # 配置网页访问时static文件路径
    location /static/ {
        alias /home/src/fresh_shop/static/;
    }
# 配置网页访问时media文件路径
    location /media/ {
        alias /home/src/fresh_shop/media/;
    }
}

再新建一个freshuwsgi.ini文件,并再当中写入

[uwsgi]
master = true # 守护进程
processes = 4 # 进程个数
chdir = /home/src/fresh_shop # 项目地址
pythonpath = /home/env/freshenv/bin/python3 # 指定python版本
module = fresh_shop.wsgi # 指定uwsgi文件
socket = 127.0.0.1:8890 # 和nginx通信地址及端口
logto = /home/logs/freshuwsgi.log  # 日志文件地址

2.3nginx文件配置

进入etc文件下的nginx下,打开nginx.conf并添加语句

vim /etc/nginx/nginx.conf 修改nginx配置,

include /home/conf/*.conf;

第37行添加:include /home/conf/*.conf; #include我们自定义的nginx的文件

systemctl restart nginx:

systemctl restart nginx:重启nginx
启动nginx

/home/env/freshenv/bin/uwsgi --ini /home/conf/freshuwsgi.ini

/home/env/freshenv/bin/uwsgi --ini /home/conf/freshuwsgi.ini & 启动nginx并置于后台运行
直接ctrl+d退出一直挂在服务器上

你可能感兴趣的:(day55-项目上线)