linux单项目发布流程

1.安装python

#1.安装python3.7所需要的依赖包
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
#3下载python3.7的源码
3 wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
#4解压编译安装python3.7
4 tar -xJvf Python-3.7.0.tar.xz
#5.cd 到Python-3.7.0文件夹
5 cd Python-3.7.0
# 6、用./方法执行configure,并指定安装到usr目录下
6 ./configure --prefix=/usr/local/python3 --enable-shared
#7.开始编译安装
7 make && make install
# 8、配置环境变量, 创建软链接
8 ln -s /usr/local/python3/bin/python3 /usr/bin/python3
9 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

#10将编译目录下的libpython3.7m.so.1.0文件复制到
10 cp /root/Python-3.7.0/libpython3.7m.so.1.0 /usr/lib64/libpython3.7m.so.1.0

2.虚拟环境的安装和创建在虚拟环境下安装项目所需要的python库

#安装虚拟环境
11 pip3 install virtualenv
#创建软连接
12 ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
#创建项目和虚拟环境所需要的文件夹
13 mkdir -p /data/env
14 mkdir -p /data/wwwroot
#进入文件夹
15 cd /data/env
#创建虚拟环境
16 virtualenv --python=/usr/bin/python3 py3_dj2
#进入虚拟环境所在的目录
17 cd /data/env/py3_dj2/bin/
#启动虚拟环境
18 source activate
#安装项目所需要的python报
19 pip3 install django
20 pip3 install uwsgi
#创建软连接
21 ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
#退出虚拟环境
22 deactivate

#cd 到根目录
23 cd ~

3.安装nginx

#下载nginx的源码
24 wget http://nginx.org/download/nginx-1.13.7.tar.gz
#解压
25 tar -zxvf nginx-1.13.7.tar.gz
#进入nginx-1.13.7文件中
26 cd nginx-1.13.7
27 ./configure
28 make && make install
#nginx一般默认安装好的路径为/usr/local/nginx 在/usr/local/nginx/conf/中先备份一下nginx.conf文件,以防意外。
29 cd /usr/local/nginx/conf/
30 cp nginx.conf nginx.conf.bak
#进入到下面目录中修改nginx.conf中的配置,
31 cd /usr/local/nginx/conf/
把原有的内容全部删掉改成下面的:
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name www.donghaiming.cn; #改为自己的域名,没域名修改为127.0.0.1:80
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT library.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /data/wwwroot/library/; #项目路径

}
location /static/ {
alias /data/wwwroot/library/static/; #静态资源路径
}
}
}

#把自己的项目放到 cd /data/wwwroot/目录下
在目录中添加 和项目名字相同的 项目.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<uwsgi>
<socket>127.0.0.1:8000</socket> <!-- 内部端口,自定义 -->
<chdir>/data/wwwroot/library/</chdir> <!-- 项目路径 -->
<module>library.wsgi</module> <!-- wsgi.py所在目录名-->
<processes>4</processes> <!-- 进程数 -->
<daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi>

4.启动项目

#进入虚拟环境所在的目录
34 cd /data/env/py3_dj2/bin/
#进入虚拟环境
35 source activate
#进入项目所在的目录
36 cd /data/wwwroot/library/
#uwsgi 解析项目中的配置文件
37 uwsgi -x library.xml
#进入nginx所在的目录
38 cd /usr/local/nginx/sbin/
#启动nginx,如果没有启动过 ./nginx就可以
39 ./nginx -s reload
#测试
40 curl 127.0.0.1:80
#迁移静态文件
41 cd /data/wwwroot/library/
42 python3 manage.py collectstatic
#查看操作步骤
43 history

原文地址:https://www.cnblogs.com/guofeng-1016/p/10551125.html

时间: 2024-11-10 03:37:03

linux单项目发布流程的相关文章

linux下项目发布

修改tomcat server.xml (1)端口指向80 <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8446" URIEncoding="UTF-8"/> (2)项目发布映射 <Host name="域名或者localhost或者127.0.0.1"

前端Node项目发布流程

最近在做前端的发布流程,发布流程的主要实现以下几个方面: 构建:包括JavaScript.css.html等的压缩,以及版本控制,利用md5生成版本号替换文件引用,实现长缓存策略. 发布:输出新版本的代码,切换系统到新版本 回滚:如果系统有问题,可以切换到原有版本 构建 整个流程由gulp控制,webpack主要处理模块化管理方面的处理,包括基于CommonJs模块规范的包管理,基于SCSS的模块化. 利用Webpack实现JavaScript打包压缩.SCSS编译.CSS文件抽取. 利用gul

linux 下安装 python ngix 项目发布流程

1.安装python #1.安装python3.7所需要的依赖包yum -y groupinstall "Development tools"yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel#3下载python3.7的源

[Python自学] 项目发布流程

一.上线准备工作 1.准备Python虚拟环境:[Linux系统] CentOS7创建Python虚拟环境 2.安装Python依赖:[Python自学] 批量安装依赖 3.部署MariaDB:[数据库] MariaDB安装及使用 4.部署Redis集群:[NoSQL数据库] Redis集群部署 5.使用uWSGI运行项目:[Python自学] uWSGI启动django项目 5.部署Nginx:[Linux系统] (8)Nginx 6.使用LVS(可选):[Linux系统] (6)LVS负载均

jenkins yum install以及项目发布流程设计.

作者很懒,从来都是懒得用二进制安装, 废话不多说,直接上过程: 添加jenkins yum源:vi /etc/yum.repod.d/jenkins.repo[jenkins]name=Jenkins-stablebaseurl=https://pkg.jenkins.io/redhat-stablegpgcheck=0 安装java与jenkins:yum install jenkins java -ysystemctl enable jenkins && systemctl start

关于Linux开源项目基础组件make编译流程

?? 关于Linux开源项目基础组件make编译流程 非常多Linux开源项目都会用到编译出可运行文件的make.这个是有一套流程的. 首先,GNU构建系统:https://en.wikipedia.org/wiki/GNU_build_system 使用Autotool来编译和管理整个产品的生产流程. 就是以下这张图: 这里面须要先了解make和makefile make:https://en.wikipedia.org/wiki/Make_(software) makefile:https:

Net core 2.x - docker(for windows)-linux配置及项目发布

将.net core2.x+sqlserver项目发布到docker.呵呵,操作很自如,如下. 1.罗嗦几句 在跑起来之前浪费了不少时间和精力,起初是将docker for windows的环境转换成了 window(安装docker for windows之后,右下角的小鲸鱼右击之后转换),但是很操蛋,也做了随笔但是没有发布之保存了草稿,记录了很多的问题以及问题的解决方式,浪费了一天时间.跑起来之后感觉幸福来之不易所以拿出来分享下.下面看我们的效果图; 2.效果预览 ...其他内容 可以看到我

DJANGO 学生管理系统项目创建流程 -- 单表管理

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 17.0px ".PingFang SC"; color: #454545 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545; min-height: 14.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; f

linux部署项目(Java项目+Tomcat+mysql)

项目做完了,要发布了,而Java的特长之一就是移植性好,面对着微软的XP的停止服务,Windows系统的"独裁",越来越多的商家选择了开源的免费的linux系统作为服务器.因为linux系统也有图形界面(虽然和Windows比起来很不一样),所以在图形界面中操作相对来说还是容易的,这就好比我们在Windows系统上部署项目一样,大部分人都是小Case.但是真正工作中,服务器都会在固定的机房,而且往往只有一台主机,更规模大一些的就是使用单片机,像摆书一样摆到机房的机器架上,而我们操作它的