Python站
  • 说明
  • 源码分析
  • 100 系列
  • python
    • 开发基础
      • 数据类型
      • 字符编码
      • 文本操作
      • 玩转Python100解
    • 函数编程
      • 装饰器
      • 内置函数
        • vars
      • 内置模块
        • enum
        • os
        • argparse
        • importlib
        • shelve
        • collections
        • re
      • 神奇三方
        • setuptools
        • celery
    • 面向对象
      • 面向对象100解(草稿)
    • 网络编程
      • 网络理论知识
      • 网络编程socket
      • socketserver源码泛读
    • 并发编程
      • 并发编程之多进程
        • 子进程基本使用
        • 进程的属性或方法
        • 守护进程
        • 互斥锁
        • 队列
        • 生产者消费者模型
      • 并发编程之多线程
        • 子线程基本使用
        • GIL全局解释器锁
        • 死锁现象与递归锁
        • 信号量事件定时器
        • 线程队列queue
      • 并发编程之进程线程池
      • 并发编程之协程
      • 并发编程之IO模型
        • 阻塞IO
        • 非阻塞IO
        • 多路复用IO
        • 异步IO
        • IO模型比较分析
    • 数据库说
      • mongoengine源码精读
    • 前端开发
    • 后端开发
      • flask源码精读
      • django源码精读
        • 01 软件打包与部署
        • 02 python调试工具 pdb
        • 03 创建一个django项目
    • 爬虫相关
      • Jupyter Notebook
      • urllib
      • urllib3源码泛读
      • 数据解析
      • requests源码精读
        • 初始化说 __init__.py
        • 版本信息 __version__.py
        • 版本兼容 compat.py
        • 经典视图 api.py
        • 逻辑实现 sessions.py
        • 数据存储 models.py
        • 网络传输 adapters.py
        • 异常结构 exceptions.py
        • 交互协定 status_code.py
        • 钩子编程 hooks.py
        • 数据结构 structures.py
        • 辅助输出 utils.py
        • 安全认证 auth&certs.py
    • 编程思想
      • 算法
      • 数据结构
      • 设计模式
        • 简单工厂模式
        • 工厂方法模式
        • 抽象工厂模式
        • 建造者模式
        • 单例模式
        • 适配器模式
        • 桥模式
        • 组合模式
        • 外观模式
        • 代理模式
        • 责任链模式
        • 观察者模式
        • 策略模式
        • 模板方法模式
      • Python技巧100解
      • Effective Python
    • 企业应用
      • DevOps
      • Web服务-Nginx
      • 网站发布
      • 源码管理
        • Git
        • GitHub
        • GitLab
      • Golang
      • Docker
      • Ubuntu
    • 项目实战
    • 就业相关
    • 其他爱好
      • 科技单词100解答
Powered by GitBook
On this page
  • 版本介绍
  • 安装nginx
  • 安装mysql
  • 安装python
  • 安装uwsgi
  • 部署django
  • 启动命令
  1. python
  2. 企业应用

网站发布

版本介绍

ubuntu + nginx + python + django + uwsgi + mysql

安装nginx

sudo wget http://nginx.org/download/nginx-1.17.1.tar.gz -P /usr/src
cd /usr/src
sudo tar zxvf nginx-1.17.1.tar.gz
cd nginx-1.17.1

sudo apt install gcc
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g-dev
sudo apt-get install openssl
sudo ./configure --prefix=/usr/local/nginx
sudo apt-get install make
sudo make -j4
sudo make install

sudo /usr/local/nginx/sbin/nginx
sudo apt-get install lsof elinks
sudo lsof -i :80
sudo elinks http://127.0.0.1 --dump

安装mysql

  • 中小型关系型数据库,社区版免费

  • mysql 5.7.27

cmake来配置安装环境(类似configure) 决定代码的组织方式及其编译方式,也是程序设计的一部分

cmake是makefile的上层工具,自动化产生可移植的makefile

# 安装编译依赖
sudo apt-get install make cmake gcc g++ bison libncurses5-dev build-essential

# 下载mysql5.7并解压
sudo tar zxvf mysql-5.7.27.tar.gz
cd mysql-5.7.27

wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz -P /usr/src
sudo tar boost_1_59_0.tar.gz boost_1_59_0
sudo mv boost_1_59_0 /usr/local/boost

# 配置
sudo cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data/ \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_USER=mysql \
-DWITH_DEBUG=0 \
-DWITH_EMBEDDED_SERVER=1 \
-DDOWNLOAD_BOOST=1 -DENABLE_DOWNLOADS=1 -DWITH_BOOST=/usr/local/boost

# 编译
sudo make

# 安装
sudo make install

# 新建用户和组mysql,切换/usr/local/mysql/下文件归属
sudo groupadd mysql
sudo useradd -g mysql mysql
sudo chown -R mysql:mysql /usr/local/mysql/

# 初始化mysql,生成一个临时密码,下一步登录使用
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql

sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
sudo chmod 755 /etc/init.d/mysql
sudo /etc/init.d/mysql start|stop|status

sudo /etc/init.d/mysql start
sudo /usr/local/mysql/bin/mysql -u root -p
PASSWRORD: 临时密码
set password for 'root'@'localhost' = password('123456');

# 编辑环境变量
sudo vim ~/.bashrc
export PATH=$PATH:/usr/local/mysql/bin

source ~/.bashrc

安装python

cd ~
sudo apt isntall virtualenv
sudo virtualenv --no-site-packages --python=python3  virtualenv
sudo chown -R ubuntu:ubuntu virtualenv/
source virtualenv/bin/activate

pip install django
django-admin startproject web
cd web
sudo vim web/settings.py
# 修改配置 ALLOWED_HOSTS = ['*']
python manage.py runserver 0.0.0.0:8000

安装uwsgi

uwsgi 把python源码变为一个服务

部署django

启动命令

PreviousWeb服务-NginxNext源码管理

Last updated 5 years ago