淡蓝十七 發表於 2023-6-29 00:00:00

Ubuntu 14.04下Django和MySQL环境部署全过程

<p>
        <strong>简要步骤。(Ubuntu14.04)</strong></p>
<ul>
<li>
                Python安装</li>
        <li>
                Django
</li>
        <li>
                Mysql的安装与配置</li>
</ul>
<p>
        记录一下我的部署过程,也方便一些有需要的童鞋,大神勿喷~</p>
<p>
        <strong>一、Python环境搭建</strong></p>
<p>
        操作系统Ubuntu14.04,自带Python2.7.6</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterpy" id="highlighter_195967">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="py plain">im@</code><code class="py value">58user</code><code class="py plain">:</code><code class="py keyword">/</code><code class="py plain">$ python</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="py plain">Python </code><code class="py value">2.7</code><code class="py plain">.</code><code class="py value">6</code> <code class="py plain">(default, </code><code class="py functions">Oct</code> <code class="py value">26</code> <code class="py value">2016</code><code class="py plain">, </code><code class="py value">20</code><code class="py plain">:</code><code class="py value">30</code><code class="py plain">:</code><code class="py value">19</code><code class="py plain">) </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="py plain"> on linux2</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="py functions">Type</code> <code class="py string">"help"</code><code class="py plain">, </code><code class="py string">"copyright"</code><code class="py plain">, </code><code class="py string">"credits"</code> <code class="py keyword">or</code> <code class="py string">"license"</code> <code class="py keyword">for</code> <code class="py plain">more information.</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="py plain">&gt;&gt;&gt;</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <strong>二、Django环境搭建</strong></p>
<p>
        目前Django的版本已经到1.11了。先去官网下载Linux对应的文件,然后解压&amp;安装。(官网下载地址)</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_816411">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">tar</code> <code class="bash plain">xzvf Django-1.11.x.</code><code class="bash functions">tar</code><code class="bash plain">.gz</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash functions">cd</code> <code class="bash plain">Django-1.11.x</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash functions">sudo</code> <code class="bash plain">python setup.py </code><code class="bash functions">install</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        这时可能会提示ImportError: <code>No module named setuptools</code></p>
<p>
        执行</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_523638">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">sudo</code> <code class="bash plain">https:</code><code class="bash plain">//bootstrap</code><code class="bash plain">.pypa.io</code><code class="bash plain">/ez_setup</code><code class="bash plain">.py -O - | </code><code class="bash functions">sudo</code> <code class="bash plain">python</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        然后执行</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterpy" id="highlighter_347464">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="py plain">python setyp.py install```</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        到此Django安装成功~!</p>
<p>
        <strong>三、Mysql安装</strong></p>
<p>
        执行一下命令,运行过程中可能需要输入root密码并进行确认。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_912633">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">sudo</code> <code class="bash plain">apt-get </code><code class="bash functions">install</code> <code class="bash plain">mysql-server mysql-client</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash functions">sudo</code> <code class="bash plain">apt-get </code><code class="bash functions">install</code> <code class="bash plain">libmysqld-dev</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        然后链接MySQL和Python</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_423461">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">sudo</code> <code class="bash plain">apt-get </code><code class="bash functions">install</code> <code class="bash plain">python-dev</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash functions">sudo</code> <code class="bash plain">wget https:</code><code class="bash plain">//pypi</code><code class="bash plain">.python.org</code><code class="bash plain">/packages/source/M/MySQL-python/MySQL-python-1</code><code class="bash plain">.2.5.zip</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">unzip MySQL-python-1.2.5.zip</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash functions">cd</code> <code class="bash plain">MySQL-python-1.2.5/</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash functions">sudo</code> <code class="bash plain">python setup.py </code><code class="bash functions">install</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        进入mysql数据库的方式:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_669020">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">&gt; * sudo mysql</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">* mysql -u root -p </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">然后输入密码</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <strong>四、给mysql设置root密码</strong></p>
<p>
        先以第一种方式进入mysql</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_140597">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">mysql&gt; use mysql;</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">Reading table information for completion of table and column names</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">You can turn off this feature to get a quicker startup with -A</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                         </div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="plain plain">Database changed</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="plain plain">mysql&gt; update user set Password = PASSWORD(‘root') where User ='root';</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="plain plain">Query OK, 3 rows affected (0.00 sec)</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="plain plain">Rows matched: 3 Changed: 3 Warnings: 0</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="plain plain">mysql&gt; exit</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        括号里面的'root'就是新的密码</p>
<p>
        <strong>五、新建项目</strong></p>
<p>
        到了验证结果的时候了</p>
<p>
        将当前目录切换到Python的worspace下,输入新建的项目名称:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterpy" id="highlighter_699583">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="py plain">im@</code><code class="py value">58user</code><code class="py plain">:~</code><code class="py keyword">/</code><code class="py plain">PythonProjects$django</code><code class="py keyword">-</code><code class="py plain">admin.py startproject Hello</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="py plain">im@</code><code class="py value">58user</code><code class="py plain">:~</code><code class="py keyword">/</code><code class="py plain">PythonProjects$ cd Hello</code><code class="py keyword">/</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="py plain">im@</code><code class="py value">58user</code><code class="py plain">:~</code><code class="py keyword">/</code><code class="py plain">PythonProjects</code><code class="py keyword">/</code><code class="py plain">Hello$ tree</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="py plain">├── Hello</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="py plain">│ ├── init.py</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="py plain">│ ├── settings.py</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="py plain">│ ├── urls.py</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="py plain">│ └── wsgi.py</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="py plain">└── manage.py</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<ol>
<li>
                * __init__.py:Python特性,可以是空文件,表明这个文件夹是一个可以导入的包。</li>
        <li>
                * settings.py:配置文件,本文主要修改数据库信息、模板目录、加载模块的信息。</li>
        <li>
                * url.py:URL配置文件,指定函数与URL的映射关系。</li>
        <li>
                * wsgi.py:本文中不会使用,nginx/apache+wsgi在生产环境中运行Django时使用</li>
</ol>
<p>
        接下来我们写一个HelloWorld页面。</p>
<p>
        在Hello文件下的一级目录创建views.py文件</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_833175">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">im@58user:~/PythonProjects/Hello$ touch views.py</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">im@58user:~/PythonProjects/Hello$ ls</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">Hello manage.py views.py</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain plain">im@58user:~/PythonProjects/Hello$ tree</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="plain plain">.</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="plain plain">├── Hello</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="plain plain">│ ├── init.py</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="plain plain">│ ├── settings.py</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="plain plain">│ ├── urls.py</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="plain plain">│ └── wsgi.py</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="plain plain">├── manage.py</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="plain plain">└── views.py</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                         </div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="plain plain">1 directory, 6 files</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        在views.py文件中写入下面代码</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_241393">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">from django.http import HttpResponse</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                         </div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">def hello(request):</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain plain">return HttpResponse(“Hello World~!~!”)</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        然后再将路径添加在urls.py文件中</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_896471">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">from django.conf.urls import url</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">from django.contrib import admin</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">from views import hello</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                         </div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="plain plain">urlpatterns = [</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="plain plain">url(r'^admin/‘, admin.site.urls),</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="plain plain">url(r'^hello/‘, hello),</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="plain plain">]</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        然后在Hello目录下执行<code>python manage.py runserver 0.0.0.0:8080</code></p>
<p>
        启动服务器</p>
<p>
        打开浏览器访问<code>http://127.0.0.1:8000/hello/ </code>可以看到展示结果。</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="Ubuntu 14.04下Django和MySQL环境部署全过程" alt="Ubuntu 14.04下Django和MySQL环境部署全过程" src="https://zhuji.jb51.net/uploads/img/202305/594f06956bafead21194b24dcfefabd5.jpg"></p>
<p>
        <strong>总结</strong></p>
<p>
        以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。</p>
頁: [1]
查看完整版本: Ubuntu 14.04下Django和MySQL环境部署全过程