4. 服务器列表

4.1. LAMP服务器

4.1.1. 介绍

Linux + Apache + Mysql + PHP

-s lamp 或者 --server lamp

4.1.2. 默认的配置信息

  • Mysql密码: password
  • Web工作目录: /var/www/html
  • phpinfo路径: /var/www/html/info.php

4.1.3. 服务器重启

$ sudo service apache2 restart

4.2. LNMP Server

4.2.1. 介绍

Linux + Nginx + Mysql + PHP

-s lnmp 或者 --server lnmp

4.2.2. 默认的配置信息

  • nginx配置文件路径: /etc/nginx/sites-available/default
  • Mysql密码: password
  • Web工作目录: /var/www/html
  • phpinfo路径: /var/www/html/info.php

4.2.3. 重启

# php5
$ sudo service php5-fpm restart

# php7
$ sudo service php7.0-fpm restart

# nginx
$ sudo service nginx restart

4.3. 基础的Django Web服务器

4.3.1. 介绍

Django + Mysql

-s django -p project_name 或者 --server django --project project_name

Note

如果使用 -p project_name 参数,则会创建一个以 project_name 为名字的文件夹,并将Django项目放置在该文件夹下面,否则默认使用 demo 作为文件夹名。

4.3.2. 默认的配置信息

  • Mysql密码: password
  • 项目路径: /var/www/html/project_name
  • Python虚拟环境路径: ~/.project_name

4.3.3. Django的Mysql配置

默认安装完成后,Django使用的数据库是Sqlite3,我们需要将其修改成为Mysql

  • 编辑``/var/www/html/project_name/project_name/settings.py``
$ cd /var/www/html/project_name/project_name
$ vim settings.py
  • 修改数据库配置为Mysql
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': 'localhost',
        'NAME' : 'your_database_name',
        'USER' : 'root',
        'PASSWORD' : 'password'
    }
}
  • 激活Django项目的虚拟环境
$ source ~/.project_name/bin/activate
  • 进入 /var/www/html/project_name 目录并执行数据库迁移
$ cd /var/www/html/project_name
$ python manage.py migrate

4.4. 高级的Django Web服务器

4.4.1. 介绍

Django + Uwsgi + Nginx + Supervisor

-s django-uwsgi -p project_name 或者 --server django-uwsgi --project project_name

4.4.2. 默认的配置信息

基本配置:

  • 项目目录: /var/www/html/project_name
  • python虚拟环境: ~/.project_name
  • Mysql密码: password

服务器配置:

  • nginx配置文件路径: /etc/nginx/sites-enabled/default
  • uwsgi配置文件路径: /var/www/html/project_name/project_name.ini
  • supervisor配置文件路径: /etc/supervisor/conf.d/project_name_sysd.conf

日志配置:

  • django基本输出日志: /var/log/project_name_out.log
  • django错误信息日志: /var/log/project_name_error.log

4.4.3. 重启

# nginx服务器重启
$ service nginx restart

# uwsgi服务器重启
$ sudo supervisorctl restart project_name

# 启动uwsgi服务
$ sudo supervisorctl start project_name

# 重加载supervisor配置文件
$ sudo supervisorctl reread
$ sudo supervisorctl update

设置supervisor默认启动

# 针对ubuntu 16,supervisor重启后自动运行
$ sudo systemctl enable supervisor
$ sudo systemctl start supervisor

# 针对ubuntu 14
$ sudo update-rc.d supervisor enable