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
linux单项目发布流程的更多相关文章
- Linux项目发布流程
Linux项目发布流程(一) 1.安装pyhton3.7 的依赖包 yum -y groupinstall "Development tools" yum -y install z ...
- 前端Node项目发布流程
最近在做前端的发布流程,发布流程的主要实现以下几个方面: 构建:包括JavaScript.css.html等的压缩,以及版本控制,利用md5生成版本号替换文件引用,实现长缓存策略. 发布:输出新版本的 ...
- linux 下安装 python ngix 项目发布流程
1.安装python #1.安装python3.7所需要的依赖包yum -y groupinstall "Development tools"yum -y install zlib ...
- k8s:py项目发布完整流程
k8s:py项目发布流程 1. 编写Dockerfile # cat Dockerfile FROM python:3.6-slim USER root RUN apt-get update & ...
- java项目发布到linux服务器,tomcat正常启动但没加载项目
问题描述: java项目发布到linux服务器,一切操作正确,linux命令启动tomcat后,查看日志启动tomcat正常,上传的war包已经解压成功,但是tomcat没加载项目. 解决方法: 1. ...
- 关于Linux开源项目基础组件make编译流程
关于Linux开源项目基础组件make编译流程 非常多Linux开源项目都会用到编译出可运行文件的make.这个是有一套流程的. 首先,GNU构建系统:https://en.wikipedia. ...
- 关于.net Core项目发布在Linux上的填坑
本文主要记录.net Core项目发布在Linux服务器上面所遇到的问题,防止遗忘是 1.在发布文件中执行 dotnet xxxxxx.dll的时候提示如下错误: An assembly specif ...
- .Net Core 项目发布到Linux - CentOS 7(一)
由于项目的需求,需要发布到Linux服务器上,在这里记录一下我发布的过程. 安装Linux 安装liunx系统很简单,网上也有很多教程,我是直接使用阿里云的CentOS 7.7 64位 部署环境 Li ...
- 自学linux——16.LAMP项目上线流程
LAMP项目上线流程 一.编译安装与卸载Nginx(web服务器软件,类似于Apache) 1.安装nginx ① 下载nginx 网页下载https://nginx.org/en/downlo ...
随机推荐
- ng7 设置http proxy
看文档 proxy.conf.json { "/api": { "target": "http://localhost:5000", &qu ...
- ab 站点压力测试工具
ab--压力测试工具 前端时间由于需要测试一个网站的高并发的情况,使用到了一个ab测试工具,下面是我自己的体验及参考网上别人的博客所写,希望对大家有所帮助. ab工具简介 ab 全称:apache b ...
- 6.3 Pandora 实操 - 数据立方
简介 数据立方是适用于大规模实时数据(每天百亿条,10TB+ 级别数据)查询与分析的数据库系统,提供交互式的访问数据的能力,支持数据过滤.分组.聚合,实现亚秒级以内对亿行级别的数据表进行多维探索分析. ...
- Bear + Reminders 是完美的Thing 3 的替代品
如今同类功能的APP在AppStore上呈现泛滥之势,尤其是时间管理.任务管理之类的APP.其中比较出名的就有“Things 3”这款APP,这是一款多年不更新,一更新就获奖的APP.目前在AppSt ...
- OO第一单元总结与心得体会
一.结构度量 1. UML类图 第一次作业 第二次作业 第三次作业 2. 复杂度分析 (1)方法复杂度 ev, iv, v这几栏,分别代指基本复杂度(Essential Complexity (e ...
- 二、springboot使用jpa
花了几天时间,好好看了看springboot的jpa部分,总结了常用的形式. 1.通过STS工具添加jpa的依赖项 要连mysql,测试的时候需要web,顺便添加了lombok不写set和get方法了 ...
- Spark 学习笔记
Spark的前世今生 基础语法详解 3.条件控制与循环 4.函数入门 5.函数入门之默认参数 6.函数入门之边长参数 7.函数入门之过程lazy值和异常 8.数组操作之Ar ...
- iOS 字体下载
iOS可以动态的为系统下载字体,这些字体都下载到了系统的目录下,并且可以被其他应用公用 来看下如何实现动态下载: // 创建下载字体请求描述的准备 NSMutableDictionary *attrs ...
- 2019春第七周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能更加进一步的够熟练掌握指针的用法 这个作业在那个具体方面帮助我实现目标 指针对于基础题目的做法 参考文献与 ...
- 617A
#include <stdio.h> int main() { int moves[5]={1,2,3,4,5}; int x; scanf("%d", &x) ...