亮哥说 發表於 2023-10-26 00:00:00

Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服务器

<p>
        之前一直使用nginx+fastcgi来搭建python web服务器,本文介绍nginx+uwsgi组合来实现。uwsgi 是一个快速的、纯c语言开发的、自维护的、对开发者友好的wsgi服务器,旨在提供专业的 python web应用发布和开发。它更符合python web的标准协议,速度要比fastcgi要快、性能更加稳定。</p>
<p>
        <strong>一、安装平台</strong><br>
        1、安装pcre</p>
<p>
         </p>
<div class="codetitle">
        <span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code67501">
        <br>
        cd /home<br>
        mkdir -p /home/install/nginx &amp;&amp; cd /home/install/nginx<br>
        wget http://ftp.exim.llorien.org/pcre/pcre-8.00.tar.gz<br>
        tar -zxvf pcre-8.00.tar.gz<br>
        cd pcre-8.00<br>
        ./configure<br>
        make &amp;&amp; make install<br>
        cd ..</div>
<p>
         </p>
<p>
        2、安装nginx</p>
<p>
         </p>
<div class="codetitle">
        <span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code59215">
        <br>
        wget http://nginx.org/download/nginx-0.8.50.tar.gz<br>
        tar -zxvf nginx-0.8.50.tar.gz<br>
        cd nginx-0.8.50/<br>
        ./configure --user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module --with-cc-opt='-o3' --with-cpu-opt=opteron<br>
        make &amp;&amp; make install<br>
        cd ..</div>
<p>
         </p>
<p>
        3、安装python&amp;mysql-python</p>
<p>
         </p>
<div class="codetitle">
        <span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code37189">
        <br>
        wget http://www.python.org/ftp/python/2.5.1/python-2.5.1.tgz<br>
        tar -zxvf python-2.5.1.tgz<br>
        cd python-2.5.1<br>
        ./configure &amp;&amp; make &amp;&amp; make install<br>
        echo "export path=\$path:/usr/local/bin" &gt;&gt; /etc/profile<br>
        source /etc/profile</div>
<p>
         </p>
<p>
        4、安装mysql-python</p>
<p>
         </p>
<div class="codetitle">
        <span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code76710">
        <br>
        cd ../<br>
        wget http://downloads.sourceforge.net/project/mysql-python/mysql-python/1.2.2/mysql-python-1.2.2.tar.gz?r=&amp;ts=1285248455&amp;use_mirror=nchc<br>
        cd mysql-python-1.2.2<br>
        python setup.py install</div>
<p>
         </p>
<p>
        5、安装django</p>
<p>
         </p>
<div class="codetitle">
        <span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code58147">
        <br>
        wget http://www.djangoproject.com/download/1.2.3/tarball/<br>
        tar -zxvf django-1.2.3.tar.gz<br>
        cd django-1.2.3<br>
        python setup.py install<br>
        cd ..</div>
<p>
         </p>
<p>
        6、安装uwsgi</p>
<p>
         </p>
<div class="codetitle">
        <span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code40393">
        <br>
        wget http://projects.unbit.it/downloads/uwsgi-0.9.6.2.tar.gz<br>
        tar -zxvf uwsgi-0.9.6.2.tar.gz<br>
        cd uwsgi-0.9.6.2<br>
        make<br>
        cp uwsgi /usr/bin</div>
<p>
         </p>
<p>
        <strong>二、平台配置</strong></p>
<p>
        1、平台环境说明<br>
          1.1、项目位置:/opt/www/purgesys<br>
           创建项目方法:</p>
<p>
         </p>
<div class="codetitle">
        <span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code67096">
        <br>
        cd /opt/www<br>
        django-admin.py startproject purgesys</div>
<p>
         </p>
<p>
          1.2、查看项目(出现以下文件结构说明项目已创建成功)<br>
          #tree purgesys</p>
<p>
         </p>
<div class="codetitle">
        <span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code86986">
        <br>
        purgesys<br>
        |-- __init__.py<br>
        |-- manage.py<br>
        |-- settings.py<br>
        `-- urls.py</div>
<p>
         </p>
<p>
        2、nginx相关配置</p>
<p>
        #cd /usr/local/nginx/conf<br>
        #vi django_uwsgi.conf</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_667462">
                        <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>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                        <div class="line number19 index18 alt2">
                                                                19</div>
                                                        <div class="line number20 index19 alt1">
                                                                20</div>
                                                        <div class="line number21 index20 alt2">
                                                                21</div>
                                                        <div class="line number22 index21 alt1">
                                                                22</div>
                                                        <div class="line number23 index22 alt2">
                                                                23</div>
                                                        <div class="line number24 index23 alt1">
                                                                24</div>
                                                        <div class="line number25 index24 alt2">
                                                                25</div>
                                                        <div class="line number26 index25 alt1">
                                                                26</div>
                                                        <div class="line number27 index26 alt2">
                                                                27</div>
                                                        <div class="line number28 index27 alt1">
                                                                28</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain"># django project</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">server {</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain spaces">        </code><code class="plain plain">listen  80;</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain spaces">        </code><code class="plain plain">server_name purgesys.domain.com;</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                         </div>
                                                                <div class="line number6 index5 alt1">
                                                                         </div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="plain spaces">        </code><code class="plain plain">location / {</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="plain spaces">            </code><code class="plain plain">uwsgi_pass   127.0.0.1:9000;</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="plain spaces">            </code><code class="plain plain">include     uwsgi_params;</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="plain spaces">            </code><code class="plain plain">access_log  off;</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="plain spaces">        </code><code class="plain plain">}</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                         </div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="plain spaces">        </code><code class="plain plain">location ^~ /static {</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="plain spaces">                </code><code class="plain plain">root   /opt/www/purgesys;</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="plain spaces">        </code><code class="plain plain">}</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                         </div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="plain spaces">        </code><code class="plain plain">location ^~ /admin/ {</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="plain spaces">            </code><code class="plain plain">uwsgi_pass   127.0.0.1:9000;</code>
</div>
                                                                <div class="line number19 index18 alt2">
                                                                        <code class="plain spaces">            </code><code class="plain plain">include  uwsgi_params;</code>
</div>
                                                                <div class="line number20 index19 alt1">
                                                                        <code class="plain spaces">            </code><code class="plain plain">access_log   off;</code>
</div>
                                                                <div class="line number21 index20 alt2">
                                                                        <code class="plain spaces">        </code><code class="plain plain">}</code>
</div>
                                                                <div class="line number22 index21 alt1">
                                                                         </div>
                                                                <div class="line number23 index22 alt2">
                                                                        <code class="plain spaces">        </code><code class="plain plain">location ~* ^.+\.(mpg|avi|mp3|swf|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|txt|tar|mid|midi|wav|rtf|mpeg)$ {</code>
</div>
                                                                <div class="line number24 index23 alt1">
                                                                        <code class="plain spaces">            </code><code class="plain plain">root   /opt/www/purgesys/static;</code>
</div>
                                                                <div class="line number25 index24 alt2">
                                                                        <code class="plain spaces">            </code><code class="plain plain">access_log   off;</code>
</div>
                                                                <div class="line number26 index25 alt1">
                                                                        <code class="plain spaces">        </code><code class="plain plain">}</code>
</div>
                                                                <div class="line number27 index26 alt2">
                                                                         </div>
                                                                <div class="line number28 index27 alt1">
                                                                        <code class="plain plain">}</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        *nginx-0.8.50默认已添加uwsgi输出头支持<br><span>include uwsgi_params;</span></p>
<p>
        #vi nginx.conf<br>
        追加子配置文件django_uwsgi.conf</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_513748">
                        <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">http{ </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">........ </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">include django_uwsgi.conf; </code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain plain">}</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        3、uwsgi配置<br>
        #mkdir -p /home/uwsgi;cd /home/uwsgi<br>
        #mkdir -p /opt/www/logs<br>
        #echo "" &gt; /opt/www/logs/django.log<br>
        #vi uwsgi.xml</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_676420">
                        <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>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">&lt;uwsgi&gt;</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain spaces"> </code><code class="plain plain">&lt;socket&gt;127.0.0.1:9000&lt;/socket&gt;</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain spaces"> </code><code class="plain plain">&lt;listen&gt;200&lt;/listen&gt;</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain spaces"> </code><code class="plain plain">&lt;master&gt;true&lt;/master&gt;</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="plain spaces"> </code><code class="plain plain">&lt;pidfile&gt;/usr/local/nginx/uwsgi.pid&lt;/pidfile&gt;</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="plain spaces"> </code><code class="plain plain">&lt;processes&gt;8&lt;/processes&gt;</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="plain spaces"> </code><code class="plain plain">&lt;pythonpath&gt;/opt/www/purgesys&lt;/pythonpath&gt;</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="plain spaces"> </code><code class="plain plain">&lt;pythonpath&gt;/opt/www/&lt;/pythonpath&gt;</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="plain spaces"> </code><code class="plain plain">&lt;module&gt;django_wsgi&lt;/module&gt;</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="plain spaces"> </code><code class="plain plain">&lt;profiler&gt;true&lt;/profiler&gt;</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="plain spaces"> </code><code class="plain plain">&lt;memory-report&gt;true&lt;/memory-report&gt;</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="plain spaces"> </code><code class="plain plain">&lt;enable-threads&gt;true&lt;/enable-threads&gt;</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="plain spaces"> </code><code class="plain plain">&lt;logdate&gt;true&lt;/logdate&gt;</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="plain spaces"> </code><code class="plain plain">&lt;limit-as&gt;6048&lt;/limit-as&gt;</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="plain spaces"> </code><code class="plain plain">&lt;daemonize&gt;/opt/www/logs/django.log&lt;/daemonize&gt;</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="plain plain">&lt;/uwsgi&gt;</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        4、创建应用模块<br>
        cd /opt/www/purgesys<br>
        vi django_wsgi.py</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_714740">
                        <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">import os</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">os.environ['django_settings_module'] = 'purgesys.settings'</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">import django.core.handlers.wsgi</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain plain">application = django.core.handlers.wsgi.wsgihandler()</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        5、启动服务<br>
        #/usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml<br>
        #/usr/local/nginx/sbin/nginx</p>
<p>
        6、查看进程<br>
        ## ps -ef|grep uwsgi|grep -v grep</p>
<p>
         </p>
<div class="codetitle">
        <span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code53874">
        <br>
        root     21652     1  0 17:12 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml<br>
        root     21653 21652  0 17:12 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml<br>
        root     21654 21652  0 17:12 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml<br>
        root     21655 21652  0 17:12 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml<br>
        root     21656 21652  0 17:12 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml<br>
        root     21657 21652  0 17:12 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml<br>
        root     21658 21652  0 17:12 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml<br>
        root     21659 21652  0 17:12 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml<br>
        root     21660 21652  0 17:12 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml</div>
<p>
         </p>
<p>
        7、监听端口<br>
        ## netstat -an|grep 9000<br>
        引用</p>
<p>
        tcp 0 127.0.0.1:9000 0.0.0.0:* listen</p>
<p>
        8、访问测试<br>
        输入http://serverip/</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服务器" alt="Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服务器" src="https://zhuji.jb51.net/uploads/img/202305/c888243cce7584c5c5ed30f070f59592.jpg"></p>
<p>
        大功告成!</p>
<p>
        *附uwsgi启动脚本<br>
        #cd /home/uwsgi<br>
        #vi uwsgiserver.sh</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_420540">
                        <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>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                        <div class="line number19 index18 alt2">
                                                                19</div>
                                                        <div class="line number20 index19 alt1">
                                                                20</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash preprocessor bold">#!/bin/bash</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash keyword">if</code> <code class="bash plain">[ $1 = start ];</code><code class="bash keyword">then</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash spaces"> </code><code class="bash plain">psid=`</code><code class="bash functions">ps</code> <code class="bash plain">aux|</code><code class="bash functions">grep</code> <code class="bash string">"uwsgi"</code><code class="bash plain">|</code><code class="bash functions">grep</code> <code class="bash plain">-</code><code class="bash functions">v</code> <code class="bash string">"grep"</code><code class="bash plain">|</code><code class="bash functions">wc</code> <code class="bash plain">-l`</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash spaces"> </code><code class="bash keyword">if</code> <code class="bash plain">[ $psid -gt 2 ];</code><code class="bash keyword">then</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash spaces"> </code><code class="bash functions">echo</code> <code class="bash string">"uwsgi is running!"</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash spaces"> </code><code class="bash functions">exit</code> <code class="bash plain">0</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash spaces"> </code><code class="bash keyword">else</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash spaces"> </code><code class="bash plain">/usr/bin/uwsgi</code> <code class="bash plain">-x </code><code class="bash plain">/home/uwsgi/uwsgi</code><code class="bash plain">.xml</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash spaces"> </code><code class="bash keyword">fi</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash spaces"> </code><code class="bash functions">echo</code> <code class="bash string">"start uwsgi service "</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash keyword">elif</code> <code class="bash plain">[ $1 = stop ];</code><code class="bash keyword">then</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash spaces"> </code><code class="bash plain">killall -9 uwsgi</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash spaces"> </code><code class="bash functions">echo</code> <code class="bash string">"stop uwsgi service "</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="bash keyword">elif</code> <code class="bash plain">[ $1 = restart ];</code><code class="bash keyword">then</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="bash spaces"> </code><code class="bash plain">killall -9 uwsgi</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="bash spaces"> </code><code class="bash plain">/usr/bin/uwsgi</code> <code class="bash plain">-x </code><code class="bash plain">/home/uwsgi/uwsgi</code><code class="bash plain">.xml</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="bash spaces"> </code><code class="bash functions">echo</code> <code class="bash string">"restart uwsgi service "</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="bash keyword">else</code>
</div>
                                                                <div class="line number19 index18 alt2">
                                                                        <code class="bash spaces"> </code><code class="bash functions">echo</code> <code class="bash string">"usages: sh uwsgiserver.sh "</code>
</div>
                                                                <div class="line number20 index19 alt1">
                                                                        <code class="bash keyword">fi</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        #sh uwsgiserver.sh start<br>
        parsing config file /home/uwsgi/uwsgi.xml<br>
        start uwsgi service </p>
<p>
        如大家有什么疑问或感兴趣的话题可以通过weibo与我交流:http://t.qq.com/yorkoliu</p>
<p>
        <span>以下是补充:</span></p>
<p>
        1、mysql-python 安装错误如下<br>
        from setuptools import setup importerror:</p>
<p>
        先安装<br>
        python ez_setup.py</p>
<p>
        在安装<br>
        python setup.py install</p>
<p>
        贴一下,方便其他兄弟了</p>
<p>
        2、我的nginx+uwsgi+django遇到大header的request,经常出现502,uwsgi报的是 invalid request header size,何解我的uwsgi配置为socket = :8010master = truemodule = django_wsgiprocesses = 8home = /path/to/virtualenvharakiri = 20daemonize = /path/to/uwsgi.logpidfile = /path/to/uwsgi.pidpythonpath = /path/to/projectpythonpath = /path/to/uwsgibuffer-size = 32768reload-mercy = 8max-requests = 5000socket-timeout = 4</p>
<p>
        解决方法:大header可以修改nginx http head部分参数。</p>
<p>
        3、nginx报502,但是uwsgi正常启动端口9000也正常监听。有可能是应用程序有错误导致。</p>
頁: [1]
查看完整版本: Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服务器