我是羽童 發表於 2019-12-2 10:45:00

00 工作笔记(ubuntu开发环境项目 部署到 红旗linux的工作环境)

<p>在ubuntu16.4开发, 系统迁移到红旗linux上,遇到了一些情况。</p>
<p><span style="text-decoration: underline"><strong>问题一: 红旗linux上,找不到pip</strong></span></p>
<p>明明安装过了python3, python3自带pip,输入pip为什么找不到?</p>
<p><span style="text-decoration: underline">原因:没有做link</span>。</p>
<p>pip -V&nbsp;</p>
<p>参考:https://www.cnblogs.com/belic/p/python3_install.html</p>
<p><span style="text-decoration: underline">分析: 安装源码程序编译时,</span></p>
<p>.<span class="hljs-regexp">/configure prefix=/usr<span class="hljs-regexp">/local/python3</span></span></p>
<p>make &amp; makefile</p>
<div class="cnblogs_code">
<pre>源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure)。Configure是一个可执行脚本,<br>它有很多选项,使用命令./<span style="color: rgba(0, 0, 0, 1)">configure –help

个人认为,你可以忽略其他的一切,但请把—prefix加上为了以后的维护方便,如果没有用这个选项,安装过程结束后,该软件所需的软件被复制到不同的系统目录下,很难弄清楚到底复制了那些文件、<br>都复制到哪里去了—基本上是一塌糊涂了,—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;<br>移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)</span></pre>
</div>
<p>&nbsp;</p>
<p>目的是把可执行程序放在特定的目录。如果不指定prefix,可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc。其它的资源文件放在/usr /local/share</p>
<p><span style="text-decoration: underline">解决:</span></p>
<p>#ln -s <span class="hljs-regexp">/usr/local<span class="hljs-regexp">/python3/bin<span class="hljs-regexp">/python3 /usr<span class="hljs-regexp">/bin/python3</span></span></span></span></p>
<p><span class="hljs-regexp"><span class="hljs-regexp"><span class="hljs-regexp"><span class="hljs-regexp">#ln -s <span class="hljs-regexp">/usr/local<span class="hljs-regexp">/python36/bin<span class="hljs-regexp">/pip3 /usr<span class="hljs-regexp">/bin/pip</span></span></span></span></span></span></span></span></p>
<p><span class="hljs-regexp"><span class="hljs-regexp"><span class="hljs-regexp"><span class="hljs-regexp"><span class="hljs-regexp"><span class="hljs-regexp"><span class="hljs-regexp"><span class="hljs-regexp">#pip&nbsp; install -U pip</span></span></span></span></span></span></span></span></p>
<p><span style="text-decoration: underline">&nbsp;验证:</span></p>
<p>#whereis pip3 , 则会显示来自于&nbsp;/usr<span class="hljs-regexp">/bin/python3</span></p>
<p><span class="hljs-regexp">其实,安装完python3后,应该把旧版本的python也一起替换掉。参考:https://blog.csdn.net/lukabruce/article/details/82186534</span></p>
<p><span class="hljs-regexp"><strong>问题二:安装完pip后,安装visualenv的问题</strong></span></p>
<p><span class="hljs-regexp">在pip install virtualenv后直接用 “virtualenv my_new_env” 来创建虚拟环境(my_new_env为虚拟环境的目录名)会提醒command not found<br>这是因为/usr/bin/中还没有创建软连接。</span></p>
<p><span class="hljs-regexp">方法1:去原来的安装路径目录下执行,但太麻烦:&nbsp; /usr/local/python3/bin/virtualenv env</span></p>
<p><span class="hljs-regexp">如果不知道路径的可以通过 “find / -name virtualenv” 查找</span></p>
<p><span class="hljs-regexp">方法2:创建链接</span></p>
<p><span class="hljs-regexp">ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv</span></p>
<p><span class="hljs-regexp">然后任意目录下都可以执行了。</span></p>
<p><span class="hljs-regexp">virtualenv&nbsp; new_env</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>问题二: pip install xxx 特别慢,下载东西的速度只有 10k/秒 左右</strong></p>
<p>&nbsp;</p>
<p>生成<code>requirements.txt</code>文件<code class="hljs avrasm has-numbering">在开发环境ubuntu上:</code></p>
<p><code class="hljs avrasm has-numbering">(1)pip freeze &gt; requirements<span class="hljs-preprocessor">.txt</span></code></p>
<p>(2)拷贝到红旗linux环境</p>
<p><code class="hljs cmake has-numbering">(3)pip <span class="hljs-keyword">install -r requirements.txt&nbsp; &nbsp;特别特别慢</span></code></p>
<p>解决:更换pip源泉,我换的清华源</p>
<p>&nbsp; &nbsp; 阿里云 https://mirrors.aliyun.com/pypi/simple/<br>  中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/<br>  豆瓣(douban) http://pypi.douban.com/simple/<br>  清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/<br>  中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/</p>
<p>1.临时安装替换:&nbsp;pip install django -i&nbsp;https://pypi.tuna.tsinghua.edu.cn/simple</p>
<p>2.永久替换:修改 ~/.pip/pip.conf (没有就创建一个), 内容如下:</p>
<p></p>
<p> index-url = https://pypi.tuna.tsinghua.edu.cn/simple</p>
<p>&nbsp;<img src="https://img2018.cnblogs.com/i-beta/1328412/201912/1328412-20191202100349330-1816428805.png"></p>
<p>&nbsp;</p>
<p>&nbsp;<img src="https://img2018.cnblogs.com/i-beta/1328412/201912/1328412-20191202100410766-1250155471.png"></p>
<p>&nbsp;</p>
<p>&nbsp;windows:<br>直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如下</p>
<p></p>
<p> index-url = https://pypi.tuna.tsinghua.edu.cn/simple</p>
<p>&nbsp;参考https://blog.csdn.net/chenghuikai/article/details/55258957</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline"><strong>&nbsp;问题三&nbsp;django can't find new sqlite version? (SQLite 3.8.3 or later is required (found 3.7.17))</strong></span></p>
<p><span style="text-decoration: underline">启动django时候报上述错误 :python3 manage.py runserver</span></p>
<p><span style="text-decoration: underline"><br></span>sqlite版本太老,下载安装新版本,并修改配置链接。</p>
<p>参考:https://qiita.com/rururu_kenken/items/8202b30b50e3bfa75821</p>
<pre>下载,解压<br>$ wget https://www.sqlite.org/2019/sqlite-autoconf-3280000.tar.gz
$ tar xvfz sqlite-autoconf-3280000.tar.gz<br>$ cd sqlite-autoconf-3280000</pre>
<pre>安装,路径为/usr/local<br>$ ./configure --prefix=/usr/local</pre>
<pre>$ make
$ sudo make install<br>
$ sudo find /usr/ -name sqlite3      【find 路径 -name 要找的内容】<br><br>上述指令,找到一大堆结果</pre>
<pre>/usr/bin/sqlite3#老版本sqlite
/usr/lib64/python2.7/sqlite3 #目录
/usr/lib64/python3.7/sqlite3 #目录
/usr/local/bin/sqlite3#刚刚安装编译的新版本sqlite</pre>
<pre>删除垃圾</pre>
<pre>$ rm sqlite-autoconf-3280000.tar.gz
$ rm -rf ./sqlite-autoconf-3280000<br><br>确认版本</pre>
<pre>$ /usr/local/bin/sqlite3 --version</pre>
<pre>3.28.0 2019-04-16</pre>
<pre>$ /usr/bin/sqlite3 --version</pre>
<pre>3.7.17 2013-05-20<br>切换版本</pre>
<pre>$ sudo mv /usr/bin/sqlite3 /usr/bin/sqlite3_old
$ sudo ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3<br><br></pre>
<pre># 因为sqlite3会依赖并使用第三方库,所有要设置共享库
# vi ~/.bashrcし,追加下面一行,<br><br>$ export LD_LIBRARY_PATH="/usr/local/lib"<br>使配置文件生效:</pre>
<pre># source ~/.bashrc   </pre>
<pre>共享库知识参考: https://www.cnblogs.com/wainiwann/p/4210343.html<br><br>#用python确认sqlite版本<br>#python</pre>
<pre>&gt;&gt;&gt; import sqlite3
&gt;&gt;&gt; sqlite3.sqlite_version
'3.28.0'
&gt;&gt;&gt; exit()</pre>
<pre>可以启动django了<br>python3 manage.py runserver<br><br><strong>最后,启动django服务或batch<br><br></strong>(1)virtualenv 下, 启动 #source activate</pre>
<p><img src="https://img2018.cnblogs.com/i-beta/1328412/201912/1328412-20191202104233392-1364793749.png"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>(2)出现 (venv)目录标记</p>
<p>在这个标记下,切换目录,到django工程目录,也就是manage.py所在的目录</p>
<p><span class="hljs-selector-tag">启动web: python <span class="hljs-selector-tag">manage<span class="hljs-selector-class">.py <span class="hljs-selector-tag">runserver 0<span class="hljs-selector-class">.0<span class="hljs-selector-class">.0<span class="hljs-selector-class">.0<span class="hljs-selector-pseudo">:8000</span></span></span></span></span></span></span></span></p>
<p><span class="hljs-selector-tag"><span class="hljs-selector-tag"><span class="hljs-selector-class"><span class="hljs-selector-tag"><span class="hljs-selector-class"><span class="hljs-selector-class"><span class="hljs-selector-class"><span class="hljs-selector-pseudo">启动batch: python manage.py xxxxx(batch file)</span></span></span></span></span></span></span></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>==========以下是网友的在内网机部署python心得体会=============</p>
<p>这里以内网机VMware虚拟机里centos7.3安装mitmproxy为例:</p>
<p>1.首先,你得有一个外网机,跟内网机要装的系统一样,最好干净一点</p>
<p>2.外网机安装好mitmproxy:</p>
<p>&nbsp; &nbsp; 查看pip3 list,记录下来</p>
<p>&nbsp; &nbsp;&nbsp;pip3 install mitmproxy</p>
<p>3.生成依赖清单</p>
<p>&nbsp; &nbsp;&nbsp;pip3 freeze &gt;requirements.txt</p>
<p>&nbsp; &nbsp; 从requirements.txt中去除第2个步骤中使用pip3 list查看得到的安装包</p>
<p>4.下载依赖包(创建一个/home/packet目录,进入该目录下执行以下命令)</p>
<p>&nbsp; &nbsp;&nbsp;pip3 download ./ -r ../requirements.txt</p>
<p>这样子安装mitmproxy所需要的依赖包都在/home/packet目录下了</p>
<p>5.安装</p>
<p>目前我没有找到解决依赖的好方法,我是暴力安装的,反复循环装每一个包,谁先装上就说明这个包要先安装。然后列个安装顺序,再到内网机上安装</p>
<p><br>========外文网站的建议,对于============</p>
<p><span style="font-size: 18px; background-color: rgba(0, 255, 0, 1)"><strong>2020年3月上旬,构筑项目,在单位虚机环境创建python3.6.8+django2.2环境</strong></span></p>
<p>参考手册</p>
<p>https://www.cnblogs.com/klsw/p/11106166.html</p>
<p>https://www.django.cn/article/show-4.html&nbsp; 2个手册结合做。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"><span style="background-color: rgba(0, 255, 0, 1)">CentOS7 安装Python3.6.8,centos和redhat asiaux都是yum系,基本一样。</span>

1. 安装依赖环境
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel<br><br>   注意:(1)没啥事别瞎找网上其他资料,他们和你的场景不同,瞎弄,后期会有错误,如no module named _sqlite3,是因为没安装sqlite-devel包,导致python3不能读取sqlite.o动态库。
      (2)手欠,不考虑工期,想换个python3.7,结果python3.7下,pip安装很多包,都出现 <strong>“No module named ‘_ctypes’”, 据说是缺少libffi-devel包,但这个包,你的linux也装不上啊<br></strong></span><span style="color: rgba(255, 0, 0, 1)"><strong>         在准备安装python3和pip3时,请先安装依赖环境</strong>:yum install -y libffi-devel 和上面一大堆包,<strong>一定要先装!不然会出现如下例一连串连锁反应的bug</strong></span></pre>
<pre><span style="color: rgba(0, 0, 0, 1)"><br>2、下载Python3.6.8
新建个/usr/local/python3文件夹
mkdir /usr/local/python3 
在python3文件夹下下载安装包
(进入/usr/local/python3 )
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
解压文件
tar -xvf Python-3.6.8.tar.xz
3、安装Python3
创建安装文件的路径
mkdir /usr/local/python3
4、编译(在解压的文件夹下 /usr/local/python3/python3.6.8)
./configure --prefix=/usr/local/python3 #指定生成的lib bin conf等存放文职
5、安装(在解压的文件夹下 /usr/local/python3/python3.6.8)
make
make install# 先make再make install
6、创建新版本的软链接
创建新的软连接  
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip<br>注意:</span>原来系统自带的 /usr/bin/python 是python2.6, 这个不能动,因为yum 安装指令是基于python2的,/usr/bin/python动了,yun就不好用了。</pre>
<pre><span style="color: rgba(0, 0, 0, 1)">检查python的版本 python -V</span></pre>
</div>
<p>&nbsp;</p>
<p><span style="background-color: rgba(255, 255, 153, 1)"><strong>继续写填坑记录</strong></span></p>
<p>&nbsp;</p>
<p><span style="background-color: rgba(255, 255, 153, 1)"><strong>我是按照&nbsp;https://www.django.cn/article/show-4.html#banqian&nbsp; , 来一步一步不熟nginx + uwsgi + django 的, 原文虽好,但未必适合你的环境,所有也会遇到很多坑。</strong></span></p>
<p><span style="background-color: rgba(255, 255, 153, 1)"><strong>下面就说说。</strong></span></p>
<p>一、环境 python3.6.8, django 2.2</p>
<p>&nbsp; &nbsp;sqlite.版本忘记了,好像是3.8.20,开始报错版本低,已经升级到了最新版本。</p>
<p>&nbsp; 启动django服务, python3 manage.py runserver 报错</p>
<pre class="wiki">File "/system/Django/django/db/backends/sqlite3/base.py", line 198, in get_new_connection
    conn = Database.connect(**conn_params)
sqlite3.NotSupportedError: URIs not supported
</pre>
<p>&nbsp;解决办法:</p>
<p>主要参考:https://blog.csdn.net/weixin_43883625/article/details/100708649</p>
<p>&nbsp;找到你的虚拟环境。例如,去编辑 vim <span class="token operator">/www<span class="token operator">/env<span class="token operator">/mysite<span class="token operator">/lib<span class="token operator">/python3<span class="token punctuation">.<span class="token number">6<span class="token operator">/site<span class="token operator">-packages<span class="token operator">/django<span class="token operator">/db<span class="token operator">/backends<span class="token operator">/sqlite3<span class="token operator">/base<span class="token punctuation">.py</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span class="token operator"><span class="token operator"><span class="token operator"><span class="token operator"><span class="token operator"><span class="token punctuation"><span class="token number"><span class="token operator"><span class="token operator"><span class="token operator"><span class="token operator"><span class="token operator"><span class="token operator"><span class="token operator"><span class="token punctuation">找到第198行, 在vim下, :set nu可以显示行号,帮助定位。把uri由True改为False</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<div class="cnblogs_code">
<pre>:set nu</pre>
</div>
<p><img src="https://img2020.cnblogs.com/i-beta/1328412/202003/1328412-20200323161500999-459928049.png"></p>
<p>&nbsp;</p>
<p>也可以参考:&nbsp;&nbsp;https://www.cnblogs.com/shaowentao/p/10193878.html</p>
<p>二、</p>
<h1 class="exp-title-h1" title="nginx: (98: Address already in use)">nginx:安装报错</h1>
<p>安装出错, ./configure&nbsp; &nbsp;error: the http rewrite module requires the pcre library&nbsp;</p>
<p>安装缺失的东西。</p>
<p>yum -y install pcre-devel</p>
<p>然后 ./configure</p>
<p>make</p>
<p>make install</p>
<h1 class="exp-title-h1" title="nginx: (98: Address already in use)">nginx: (98: Address already in use)</h1>
<p>提示 nginx:&nbsp;&nbsp;bind()&nbsp;to&nbsp;0.0.0.0:80&nbsp;failed&nbsp;(98:&nbsp;Address&nbsp;already&nbsp;in&nbsp;use) ,一般原因是nginx端口被占用了。</p>
<p>解决方案参考:https://www.cnblogs.com/bruceshu/p/9705462.html</p>
<p>1、查看端口占用情况:</p>
<p>sudo netstat -apn | grep 80</p>
<h1 class="grid--cell fs-headline1 fl1 ow-break-word mb8"><img src="https://img2020.cnblogs.com/i-beta/1328412/202003/1328412-20200323161936962-973816611.png"></h1>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>查看占用端口的进程:</p>
<p>ps -ef | grep 3345</p>
<p>通过结果可知,80端口是Nginx本身占用了,可以杀掉进程,重新启动Nginx</p>
<p>sudo kill -9 3345</p>
<p>sudo netstat -apn | grep 80</p>
<p>成功杀掉进程后,启动Nginx</p>
<p>2、Nginx的启停:参考</p>
<p>https://www.cnblogs.com/codingcloud/p/5095066.html</p>
<p>讲解非常好</p>
<p>3、nginx 502 Bad Gateway 错误解决办法</p>
<p>遇到这个问题,本来以为是nginx自身有问题,还参考了csdn等,都是让扩充资源数量。</p>
<p>结果,是uwsgi配置不对,django服务起不来造成的。</p>
<p>uwsgi配置好,这个问题自然解决。</p>
<p>&nbsp;</p>
<p>4、uwsgi: invalid option -- 'x'</p>
<p>一路走来,到处是坑,又头大了。&nbsp;</p>
<div class="cnblogs_code">
<pre>uwsgi -x mysite.xml</pre>
</div>
<p>执行上述指令时候,遇到错误,</p>
<p>解决方案,参考:https://blog.csdn.net/weixin_30652897/article/details/99783145</p>
<p>原因:centos(redhat内核相似,属于yum系)下,在没有安装libxml2时,pip安装的uwsgi无法支持xml格式的配置文件<br>解决:<br>yum install libxml*<br>pip uninstall uwsgi<br>pip install uwsgi</p>
<p>结果还是不行(事后我想,当时只重装了virtualenv环境,没安装系统环境, uwsgi都是每个环境安装,要2遍)</p>
<p>有时安装libxml2后由于pip缓存编译结果,导致再次安装uwsgi仍然报该异常。<br>可以下载uwsgi源码包后,本地手动编译后安装即可。</p>
<p>wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gz</p>
<p>我用python3.6.8编译</p>
<div class="cnblogs_code">
<pre>tar zxvf uwsgi-<span style="color: rgba(0, 0, 0, 1)">latest.tar.gz

cd uwsgi</span>-2.0.11.1/<span style="color: rgba(0, 0, 0, 1)">

python uwsgiconfig.py </span>--<span style="color: rgba(0, 0, 0, 1)">build

python setup.py install</span></pre>
</div>
<p>&nbsp;</p>
<p>然后,去virtualenv环境</p>
<p>(venv) python setup.py install&nbsp; &nbsp;#注意,目录要切换到uwsgi-2.0.11.1 目录,才能找到setup.py,安装到虚拟环境</p>
<p>执行&nbsp;uwsgi -x general.xml成功</p>
<p>general.xml是我项目的uwsgi配置文件。</p>
<h1 class="grid--cell fs-headline1 fl1 ow-break-word mb8">&nbsp;<span style="background-color: rgba(255, 0, 0, 1)">系统运行,找不到静态文件</span></h1>
<p><span style="background-color: rgba(255, 255, 153, 1)">通过如下 1 和2 解决</span></p>
<p>1、nginx.conf配置</p>
<p>第一行很重要。 默认的化,是没有权限访问静态文件的。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">user root;
events {
    worker_connections</span><span style="color: rgba(128, 0, 128, 1)">1024</span><span style="color: rgba(0, 0, 0, 1)">;
}
http {
    include       mime.types;
    default_typeapplication</span>/octet-<span style="color: rgba(0, 0, 0, 1)">stream;
    sendfile      on;
    server {
      listen </span><span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">;
      server_name</span><span style="color: rgba(128, 0, 128, 1)">172.20</span>.<span style="color: rgba(128, 0, 128, 1)">27.1</span><span style="color: rgba(0, 0, 0, 1)">;
      charset utf</span>-<span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)">;
      location </span>/<span style="color: rgba(0, 0, 0, 1)"> {
         include uwsgi_params;
         uwsgi_pass </span><span style="color: rgba(128, 0, 128, 1)">127.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>:<span style="color: rgba(128, 0, 128, 1)">8002</span><span style="color: rgba(0, 0, 0, 1)">;
         uwsgi_param UWSGI_SCRIPT general.wsgi;
         uwsgi_param UWSGI_CHDIR </span>/home/emic/kaohe/<span style="color: rgba(0, 0, 0, 1)">;
         
      }
      location </span>/static/<span style="color: rgba(0, 0, 0, 1)"> {
      alias </span>/home/emic/kaohe/static/<span style="color: rgba(0, 0, 0, 1)">;
      }
    }
}</span></pre>
</div>
<p>&nbsp;</p>
<p>2、chmod&nbsp; -R 777 static (静态文件目录)</p>
<p>&nbsp;</p>
<h1 class="grid--cell fs-headline1 fl1 ow-break-word mb8">Deploy Python virtualenv on no internet machine with different system</h1>
<p>&nbsp;</p>
<div class="votecell post-layout--left">
<div class="js-voting-container grid fd-column ai-stretch gs4 fc-black-200" data-post-id="47333648">
<div class="js-accepted-answer-indicator grid--cell fc-green-500 ta-center py4" title="loading when this answer was accepted...">For anyone dealing with the same problem: The quickest way for me was to:</div>
</div>
</div>
<div class="answercell post-layout--right">
<div class="post-text"><ol>
<li>Create a VirtualBox with the target system on the internet machine</li>
<li>Download wheel files using&nbsp;<code>pip download</code></li>
<li>Migrate to the target machine</li>
<li>Install with&nbsp;<code>pip install --no-index --find-links pip_libs/ requests</code></li>
</ol>
<p>&nbsp;</p>
<p><span style="background-color: rgba(0, 255, 0, 1)">程序更新升级后,不必启动nginx,重启uwsgi就可以</span></p>
<pre class="brush:bash;toolbar:false hljs"><span class="hljs-comment">#查看Uwsgi进程
ps&nbsp;-ef|grep&nbsp;uwsgi&nbsp;
<span class="hljs-comment">#用kill方法把uwsgi进程杀死,然后启动uwsgi
killall&nbsp;-9&nbsp;uwsgi
<span class="hljs-comment">#启动方法
uwsgi&nbsp;-x&nbsp;mysite.xml

<span class="hljs-comment">#Nginx平滑重启方法
/usr/<span class="hljs-built_in">local/nginx/sbin/nginx&nbsp;<span class="hljs-_">-s&nbsp;reload</span></span></span></span></span></span></pre>
</div>
</div><br><br>
来源:https://www.cnblogs.com/lxgbky/p/11968968.html
頁: [1]
查看完整版本: 00 工作笔记(ubuntu开发环境项目 部署到 红旗linux的工作环境)