线上项目部署

wusir部署博客地址

孙铭浩博客地址

孙铭浩踩过的坑centos7下部署django项目

我们项目部署需要用到uwsgi,它可以开启多进程,启动多个uwsgi实例,然后让nginx来做静态文件处理,以及负载均衡和反向代理.

{启动多个uwsgi通过nginx做集群,静态文件放到nginx,静态请求通过nginx直接相应,动态请求转发给uwsgi,如果在Windows上开发的话,配置了虚拟环境,否则安装一些python包和依赖会有问题}

找到uwsgi的配置文件把参数配置好,

然后把nginx的配置文件参数配置好,

就可以运行项目了.

需要注意配置项里面的一切细节,我们的django项目里面的静态文件路径需要跟我们的nginx里面的local static里面静态文件路径,这两个地方需要匹配上,否则系统无法找到静态文件.

本文转载自www.55yyy.top,已注明出处

centos7下部署Django(nginx+uwsgi+python3+django)
安装各类基础模块
yum install gcc-c++
yum install wget openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
yum install libxml*
yum -y install zlib*
yum remove lrzsz -y
yum install lrzsz -y
关闭防火墙
systemctl stop firewalld
———————————————————————————————-
编译安装python3
mkdir /application/
cd /application/
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
tar xf Python-3.6.3.tgz -C /usr/local/src/
cd /usr/local/src/Python-3.6.3/
./configure –prefix=/usr/local/python3
make && make install
将export PATH=/usr/local/python3/bin:$PATH粘贴到/etc/profile末尾
source /etc/profile
给python3安装django和uwsgi以及配置启动项目的xml文件
注:如果出现一片红,那就多执行几遍
pip3 install django
pip3 install uwsgi
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi3
————————————————————————————————-
uwsgi配置
上传项目目录
cd /application/
mkdir 项目
cd 项目,上传项目

runserver测试
python3 项目目录/manage.py runserver 10.0.0.8:80

mkdir script
cd script
vim uwsgi.ini

[uwsgi]
# 项目目录
chdir=/application/opt/teacher
# 启动uwsgi的用户名和用户组
uid=root
gid=root
# 指定项目的application
module=teacher.wsgi:application
# 指定sock的文件路径
socket=/application/opt/script/uwsgi.sock
# 启用主进程
master=true
# 进程个数
workers=5
pidfile=/application/opt/script/uwsgi.pid
# 自动移除unix Socket和pid文件当服务停止的时候
vacuum=true
# 序列化接受的内容,如果可能的话
thunder-lock=true
# 启用线程
enable-threads=true
# 设置自中断时间
harakiri=30
# 设置缓冲
post-buffering=4096
# 设置日志目录
daemonize=/application/opt/script/uwsgi.log
########################################
启动uwsgi
uwsgi –ini uwsgi.ini
uwsgi –stop uwsgi.pid
查看uwsgi日志
tail -f /application/opt/script/uwsgi.log
————————————————————————————————-
安装nginx和配置nginx.conf文件
cd /application/
wget http://nginx.org/download/nginx-1.10.3.tar.gz
yum install pcre-devel openssl-devel -y
tar xf nginx-1.10.3.tar.gz
cd nginx-1.10.3
useradd -s /sbin/nologin -M www
./configure
make &&make install
————————————————————————————————-
nginx配置
>/usr/local/nginx/conf/nginx.conf
编辑conf文件
worker_processes 8;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”‘;

server {
listen 80;
server_name 10.0.0.8;
access_log logs/access.log main;
charset utf-8;
gzip on;
gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream;

error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
# 指定项目路径uwsgi
location / {
include uwsgi_params;
uwsgi_connect_timeout 30;
uwsgi_pass unix:/application/opt/script/uwsgi.sock;
}
# 指定静态文件路径
location /static/{
alias /application/opt/teacher/static/;
index index.html index.htm;
}
}

}

启动nginx
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx
查看nginx日志
tail -f /usr/local/nginx/logs/access.log
———————————————————–
关闭uwsgi和nginx
uwsgi –stop uwsgi.pid
/usr/local/nginx/sbin/nginx -s stop
cd 到项目目录下创建admin
python3 manage.py migrate
创建admin超级用户
python3 manage.py createsuperuser

python3 manage.py collectstatic –noinput

上面的copy过来的文件里面 --符号有转意,

例如: python3 manage.py collectstatic --noinput

参考博客地址:

https://www.cnblogs.com/heysn21/articles/9080385.html

centos7下部署Django(nginx+uwsgi+python3+django)
安装各类基础模块
yum install gcc-c++
yum install wget openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
yum install libxml*
yum -y install zlib*
yum remove lrzsz -y
yum install lrzsz -y
关闭防火墙
systemctl stop firewalld
———————————————————————————————-
编译安装python3
mkdir /application/
cd /application/
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
tar xf Python-3.6.3.tgz -C /usr/local/src/
cd /usr/local/src/Python-3.6.3/
./configure –prefix=/usr/local/python3
make && make install
将export PATH=/usr/local/python3/bin:$PATH粘贴到/etc/profile末尾
source /etc/profile
给python3安装django和uwsgi以及配置启动项目的xml文件
注:如果出现一片红,那就多执行几遍
pip3 install django
pip3 install uwsgi
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi3
————————————————————————————————-
uwsgi配置
上传项目目录
cd /application/
mkdir 项目
cd 项目,上传项目

runserver测试
python3 项目目录/manage.py runserver 10.0.0.8:80

mkdir script
cd script
vim uwsgi.ini

[uwsgi]
# 项目目录
chdir=/application/opt/teacher
# 启动uwsgi的用户名和用户组
uid=root
gid=root
# 指定项目的application
module=teacher.wsgi:application
# 指定sock的文件路径
socket=/application/opt/script/uwsgi.sock
# 启用主进程
master=true
# 进程个数
workers=5
pidfile=/application/opt/script/uwsgi.pid
# 自动移除unix Socket和pid文件当服务停止的时候
vacuum=true
# 序列化接受的内容,如果可能的话
thunder-lock=true
# 启用线程
enable-threads=true
# 设置自中断时间
harakiri=30
# 设置缓冲
post-buffering=4096
# 设置日志目录
daemonize=/application/opt/script/uwsgi.log
########################################
启动uwsgi
uwsgi –ini uwsgi.ini
uwsgi –stop uwsgi.pid
查看uwsgi日志
tail -f /application/opt/script/uwsgi.log
————————————————————————————————-
安装nginx和配置nginx.conf文件
cd /application/
wget http://nginx.org/download/nginx-1.10.3.tar.gz
yum install pcre-devel openssl-devel -y
tar xf nginx-1.10.3.tar.gz
cd nginx-1.10.3
useradd -s /sbin/nologin -M www
./configure
make &&make install
————————————————————————————————-
nginx配置
>/usr/local/nginx/conf/nginx.conf
编辑conf文件
worker_processes 8;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”‘;

server {
listen 80;
server_name 10.0.0.8;
access_log logs/access.log main;
charset utf-8;
gzip on;
gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream;

error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
# 指定项目路径uwsgi
location / {
include uwsgi_params;
uwsgi_connect_timeout 30;
uwsgi_pass unix:/application/opt/script/uwsgi.sock;
}
# 指定静态文件路径
location /static/{
alias /application/opt/teacher/static/;
index index.html index.htm;
}
}

}

启动nginx
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx
查看nginx日志
tail -f /usr/local/nginx/logs/access.log
———————————————————–
关闭uwsgi和nginx
uwsgi –stop uwsgi.pid
/usr/local/nginx/sbin/nginx -s stop
cd 到项目目录下创建admin
python3 manage.py migrate
创建admin超级用户
python3 manage.py createsuperuser

python3 manage.py collectstatic –noinput

原文地址:https://www.cnblogs.com/2012-dream/p/9124076.html

时间: 2024-08-30 15:28:00

线上项目部署的相关文章

线上项目腾讯云平滑迁移方案及步骤

目前项目需要迁移至公有云,数据量较大,访问量极高,以腾讯云为例.我们有两种方案(1)购买配置cvm部署应用,云存储Redis,CDB for MySQL,负载均衡CLB(公网)问题: 1.腾讯云redis迁移工具原理为主从拉取rbd\aof进行全量同步,考虑共用腾讯云旧实例保留老数据,及本身主从redis有其他项目数据,便放弃迁移. 2.redis主从同步,跟分库(15个)无关,slaveof后会覆盖各个分库.拉取主库全部分库数据. 3.腾讯云不支持mysql5.7迁移及mysql5.7至mys

项目部署到tomcat后访问显示空白页

在五一放假前,项目在tomcat上还是正常运行好好的,但是昨天放假来了需要把项目更新.平时都是按照更新步骤来的,没有任何问题,但是昨天更新上去,访问项目时候应该跳转到登录页面,但是它一直显示空白.直接去访问webcontent下面的error.jsp也是显示空白.如果随便输入一个a.jsp就会出现404错误,这说明项目是正确部署上去了,但是访问项目时候就是访问不到,一直显示空白.一直以为是新打包的war包有问题.但是和svn仔细排查后发现,并没有什么异常.看tomcat的启动日志也没有报错,而且

Tomcat安装以及多实例部署

1.简介 Tomcat 是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,  由 Apache.Sun 和其他一些公司及个人共同开发而成.Tomcat 技术先进.性能稳定,而且免费,因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器. 端口8080 2.安装 先安装环境变量jdk和apache-tomcat(jdk-8u144-linux-x64.rpm .apache-

Node.js项目线上服务器部署与发布

第1章 课程预热   1-1 为什么是全栈最后一公里   1-2 搭建线上生产环境需要做什么第2章 待部署的 5 个本地 Nodejs 项目   2-1 快速本地搭建一个纯静态简易站点   2-2 Nodejs 电影网站项目上线准备   2-3 狗狗说 React Native 开发的 App 后台项目分析   2-4 微信小程序的项目介绍   2-5 电影微信公众号的项目概况   2-6 从一个故事理解整个部署思路第3章 选购域名服务器及备案   3-1 选购域名的经验分享   3-2 主机厂

Node.js线上服务器部署与发布

第1章 课程预热对整个部署思路进行全流程介绍,通过 5 个不同类型项目,来演示从本地的仓库到最终线上稳定运行的整个项目部署发布流程,来帮助始终编程在一线的前端或者后端工程师,甚至是有 Coding 能力的产品经理,从操作流程和架构形态上,掌握从零开始的项目上线环节,掌握这关键一步,跨过去前端到后端,本地到线上,开发到生产...1-1 为什么是全栈最后一公里1-2 搭建线上生产环境需要做什么 第2章 待部署的 5 个本地 Nodejs 项目分别介绍五个技术架构和产品形态的项目背景,一个 Nodej

微信小程序——豆瓣电影——(2):小程序运行部署

Demo 预览 演示视频(流量预警 2.64MB) GitHub Repo 地址 仓库地址:https://github.com/zce/weapp-demo 使用步骤 将仓库克隆到本地: bash $ git clone https://github.com/zce/weapp-demo.git weapp-douban --depth 1 $ cd weapp-douban 打开微信Web开放者工具(注意:必须是0.9.092300版本) 必须是0.9.092300版本,之前的版本不能保证正

Spring Boot 热部署

需要在pom.xml文件中加如下代码: 1 <dependencies> 2 <dependency> 3 <groupId>org.springframework.boot</groupId> 4 <artifactId>spring-boot-devtools</artifactId> 5 <optional>true</optional> 6 </dependency> 7 </depe

Centos7.2部署.Net Core2.0 WebApi

部署前准备 1.VisualStudio2017+.netcore2.0SDK 2.Centos7.2 3.SecureCRT,Xftp(根据自己喜好) 创建WebApi项目 修改Program.cs中的BuildWebHost方法为(不改也可,core默认使用Kestrel作为Server) public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseKestrel()

eclipse部署tomcat修改项目访问路径(虚拟路径)

原文参考: http://www.educity.cn/wenda/147993.html http://blog.163.com/java_zf/blog/static/19926038420129240314546/ tomcat部署web项目(eclipse自动部署项目到tomcat,访问URL中不包含部署名) 最近项目中需要把项目部署到tomcat中,并且访问路径中不包含不署名,且想实现Eclipse中的自动部署,扒了好久资料,最终实现了自己的需求,呵呵,如下: 1. 把项目contex