鍍金池/ 問(wèn)答/ Linux問(wèn)答
久舊酒 回答

你安裝的依賴(lài)一直都在 node_modules 里面, package.json 只是記錄你項(xiàng)目有哪些依賴(lài). 如果依賴(lài)是生產(chǎn)環(huán)境需要,本地開(kāi)發(fā)也需要, 那你最好是記錄在 dependencies 里, 確保用戶利益為主. 不管你記錄在 dependencies 還是 devDependencies , 在執(zhí)行 npm install 的時(shí)候這些依賴(lài)都會(huì)被下載到 node_modules 里, 在使用過(guò)程中是沒(méi)有任何區(qū)別的.

厭遇 回答

自己解決了,之前實(shí)在anaconda3下新建虛擬環(huán)境python2.7,所以會(huì)報(bào)錯(cuò)
下載anconda2在安裝graphlab環(huán)境就好了,希望對(duì)需要的人有幫助。

詆毀你 回答

你這是/login/login,改成

router.get('/',function(req,res){
        res.send("OK");
    });
卟乖 回答

是自己本身的Docker問(wèn)題, 已解決 詳見(jiàn)GITHUB ISSUES-2

情皺 回答

AllowOverride None 改為 AllowOverride All試試

未命名 回答

with(關(guān)聯(lián)關(guān)系)相對(duì)來(lái)說(shuō)比join中的用法靈活,join 對(duì)關(guān)聯(lián)關(guān)系比較明確,建議使用with

遺莣 回答

試試在 package.json 里面手動(dòng)加一條

"optionalDependencies": {
   "fsevents": "*"
 }
雨萌萌 回答
grep -Pe '\d{4}-\d{2}-\d{2},(18|19|20|21|22):.*'  <文件名>

參考

  1. grep 幫助文檔 man grep
  2. https://regexr.com/
胭脂淚 回答

可以在windows下使用cmd中的ftp命令登陸服務(wù)器。
方法:

  1. 在cmd中輸入ftp回車(chē)或者開(kāi)始->運(yùn)行->輸入'ftp'回車(chē),會(huì)看到顯示ftp>等待輸入命令。
  2. open xx.xx.xx.xx命令進(jìn)行登陸,如果端口不是21的話,需要在后面再空格并追加端口號(hào),如 open 138.68.10.199 22
  3. 根據(jù)提示輸入用戶名和密碼進(jìn)行登陸
  4. 使用ftp命令cd進(jìn)入目錄,ls查看目錄,delete刪除文件(可以使用通配符)
  5. 使用quit命令斷開(kāi)與ftp服務(wù)器的連接并退出ftp
萢萢糖 回答

哪有啟動(dòng)不報(bào)警告的,只要不報(bào)錯(cuò)就行了.兄弟

背叛者 回答

我為了發(fā)布一個(gè)包折騰了好久,非常感謝,已經(jīng)可以了

糖豆豆 回答

up to date 已經(jīng)是最新的了。

你先用 git status 命令看下,當(dāng)前workspace下面,是否還有未提交的內(nèi)容,如果沒(méi)有的話,當(dāng)前workspace就是最新的了,是沒(méi)必要commit的了。。

掛念你 回答

一般push上去的.env文件是git被忽略的,需要在服務(wù)器網(wǎng)站根目錄檢查下有沒(méi)有.env,還有就是有些安裝包需要重新發(fā)布生成config文件

練命 回答

可能跟網(wǎng)絡(luò)有關(guān),試試安裝使用cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org
幼梔 回答

缺少環(huán)境變量,你指定docker安裝目錄就可以噠

舊螢火 回答

首先,你的部署思路沒(méi)搞清楚。

下面,用一個(gè)最簡(jiǎn)單的例子,來(lái)嘗試說(shuō)明。

場(chǎng)景設(shè)置:

操作系統(tǒng):ubuntu 18.04 LTS
不考慮防火墻和AppArmor
python環(huán)境使用pythonenv進(jìn)行管理,路徑為/home/username/.virtualenvs/hello
假定我的Flask應(yīng)用如下/home/username/project/hello.py(摘自Flask官方文檔):

# hello.py
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

問(wèn)題:如何使gunicorn在后臺(tái)運(yùn)行(daemonize)?

直接在命令行運(yùn)行g(shù)unicorn,只適合開(kāi)發(fā)或者debug場(chǎng)景,生產(chǎn)環(huán)境要求gunicorn必須在后臺(tái)運(yùn)行(daemonize)。
當(dāng)然,你可以直接在terminal下運(yùn)行下面的命令,強(qiáng)制gunicorn以后臺(tái)模式(&)運(yùn)行。

gunicorn --bind /run/gunicorn/socket --pid /run/gunicorn/pid hello:app &

但是,這種模式有先天缺陷,比如使得gunicorn依賴(lài)于運(yùn)行它的terminal,從可靠性(比如當(dāng)運(yùn)行它的terminal進(jìn)程掛了,gunicorn也就掛了)和可用性(比如系統(tǒng)重啟后,gunicorn無(wú)法自動(dòng)運(yùn)行)等角度,都使這種方法不適合在生產(chǎn)環(huán)境中使用。
備注gunicorn--bind參數(shù)值設(shè)置為/run/gunicorn/socket,而不是0.0.0.0:2000,因?yàn)?code>unix socket性能高于tcp port,當(dāng)nginxgunicorn不在同一主機(jī)時(shí),則只能用tcp port

解決辦法之一systemd

創(chuàng)建下述文件/etc/systemd/system/gunicorn.service,內(nèi)容如下:

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
PIDFile=/run/gunicorn/pid # PID文件
User=www-data # 進(jìn)程所屬用戶
Group=www-data # 進(jìn)程所屬用戶組
RuntimeDirectory=gunicorn # 在/run目錄下創(chuàng)建的目錄名稱(chēng)
WorkingDirectory=/home/username/project # 網(wǎng)站根目錄,根據(jù)情況進(jìn)行調(diào)整
ExecStart=/home/username/.virtualenvs/hello/bin/gunicorn --pid /run/gunicorn/pid \
          --bind unix:/run/gunicorn/socket hello:app # gunicorn命令,路徑根據(jù)情況進(jìn)行調(diào)整
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

運(yùn)行如下命令啟動(dòng)gunicorn服務(wù)并使其開(kāi)機(jī)自動(dòng)啟動(dòng)。

sudo systemctl enable --now gunicorn.service

運(yùn)行如下命令查看gunicorn服務(wù)狀態(tài)。

sudo systemctl status gunicorn.service

備注:除了systemd之外,還可以使用supervisor來(lái)管理gunicorn(自行Google)。

nginx設(shè)置

server {
    listen 80;
    server_name www.yourhostname.com;
    location / {
        proxy_pass http://unix:/run/gunicorn/socket;
    }
}
膽怯 回答

去掉 rewrite ^.+api/?(.*)$ /$1 break;試試吧