linux下部署网站应用

环境搭建

  1. mkvirtualenv -p 虚拟环境路径 虚拟环境名
  2. pip install -r requirement.txt 建议单独安装
  3. pip install -i https://pypi.douban.com/simple django pillow mysqlclient
  4. 安装相关包

代码配置

  1. settings.py
  2. urls.py
  3. models.py
  4. views.py
  5. templates

代码部署

安装python

安装需要程序

  1. nginx被部署在最前端,最初是做端口转发的,同时可以实现静态文件访问,用户访问
  2. sudo apt-get install nginx mysql-server
  3. ps aux|grep nginx mysql
  4. mysql -u root -p
  5. sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 配置bind-address
  6. sudo service mysql restart
  7. mysql -h 数据库ip地址 -u root -p
  8. 允许所有ip地址访问
    • GRANT ALL PRIVILEGES ON . TO 'root'@'%'IDENTIFIED BY 'root' WITH GRANT OPTION;
    • flush privileges;
    • 需要在mysql中运行,GRANT ALL PRIVILEGES ON . TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;其中.指所有表,myuser指通过哪个用户连接,%指所有外部ip,也可改为固定ip,mypassword是密码

配置虚拟机

  1. pip install virtualenv
  2. pip install virtualenvwrapper
  3. vim ~/.bashrc
  4. export WORKON_HOME=$HOME/.virtualenvs
  5. source /home/.../.local/bin/vintualenvwrapper.sh
  6. source ~/.bashrc 重置一下

导出win中的环境

  1. pip freeze > requirements.txt

启动uwsgi

  1. pip install uwsgi
  2. uwsgi --http :8000 --module 项目.wsgi 使用uwsgi在http的8000端口上启动项目
  3. python manage.py runserver 0.0.0.0:8000
  4. 编辑uwsgi配置文件

启动配置nginx的conf文件

  1. upstream配置端口转发
  2. location配置路径转发
  3. server中配置监听端口等
  4. 写好配置文件后将其与nginx启动配置文件软连接,或直接拷贝
    • sudo ln -s 配置文件目录.conf /etc/nginx/conf.d/
    • sudo cp 配置文件.conf /etc/nginx/conf.d/
  5. sudo service nginx restart
  6. 将所有的static文件都收集到一个文件夹中

启动与测试

  1. uwsgi -i uwsgi.ini
  2. 修改hosts文件,将ip与域名绑定,测试域名是否正常访问
  3. 使用 pkill -f uwsgi 重启uwsgi
pwd
'/Users/gy'

你可能感兴趣的:(linux下部署网站应用)