第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將 www-data 添加到某個(gè)組后,仍然無法讓 apache 服務(wù)器訪問數(shù)據(jù)庫

將 www-data 添加到某個(gè)組后,仍然無法讓 apache 服務(wù)器訪問數(shù)據(jù)庫

MMMHUHU 2022-10-06 19:46:00
這是將 sqlalchemy 會(huì)話連接到數(shù)據(jù)庫文件的代碼from sqlalchemy.orm import sessionmakerfrom DB_setup_alchemy import Base,User,Visitor,VisitRecordfrom os import getcwd# link to the DB we are using# pay attention to this part, if without check_same_thread=false, there will be lots of errors# but what is going on behind this part of code# what does engine and session really meansdb_path='sqlite:///'+getcwd()+'/data.db'print(db_path)engine = create_engine(db_path,connect_args={'check_same_thread': False})Base.metadata.bind = engineDBSession = sessionmaker(bind=engine)session = DBSession()我項(xiàng)目的所有文件都在 flaskapp 文件夾中drwxrwxr-x 9 ubuntu ubuntu 4096 Apr 11 20:09 .drwxr-xr-x 3 root   root   4096 Apr 11 04:11 ..drwxrwxr-x 2 ubuntu ubuntu 4096 Apr 11 04:31 .awsdrwxrwxr-x 5 ubuntu ubuntu 4096 Apr 11 20:38 flaskappdrwx------ 2 root   ubuntu 4096 Apr 11 20:11 testflaskapp 文件夾中的文件:drwxrwxr-x 5 ubuntu ubuntu  4096 Apr 11 20:38 .drwxrwxr-x 9 ubuntu ubuntu  4096 Apr 11 20:09 ..-rw-rw-r-- 1 ubuntu ubuntu   345 Apr 11 16:37 AWS_API.pydrwxrwxr-x 2 ubuntu ubuntu  4096 Apr 11 17:37 __pycache__-rw-rw-r-- 1 ubuntu ubuntu   296 Apr 11 16:23 app.wsgi-rwxrwxr-x 1 ubuntu ubuntu 20480 Apr 11 17:37 data.db-rw-rw-r-- 1 ubuntu ubuntu  7426 Apr 11 20:38 flaskapp.py-rw-rw-r-- 1 ubuntu ubuntu     6 Apr 11 04:34 index.htmldrwxrwxr-x 2 ubuntu ubuntu  4096 Apr 11 16:46 templatesdrwxrwxr-x 4 ubuntu ubuntu  4096 Apr 11 16:13 venvdata.db 和文件夾flask 都對ubuntu 組中的用戶具有權(quán)限,我可以看到用戶www-data 也在ubuntu 組中:(venv) ubuntu@ip-172-31-24-93:~/flaskapp$ groups ubuntuubuntu : ubuntu adm dialout cdrom floppy sudo audio dip www-data video plugdev lxd netdev但如果我輸入:groups www-data(venv) ubuntu@ip-172-31-24-93:~/flaskapp$ groups www-datawww-data : www-data這是來自瀏覽器的錯(cuò)誤:Internal Server ErrorThe server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.我嘗試了簡單的打印你好網(wǎng)絡(luò)應(yīng)用程序,它正在工作。所以,我想知道我應(yīng)該怎么做才能更改所有者或文件權(quán)限以使我的燒瓶應(yīng)用程序正常工作?
查看完整描述

2 回答

?
富國滬深

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個(gè)贊

您向我們展示了$ groups ubuntu和的輸出$ groups www-data。它表示ubuntu具有組寫入權(quán)限,例如附加到664組中的文件www-data。

但是您的網(wǎng)絡(luò)服務(wù)器是以用戶身份www-data而不是作為用戶運(yùn)行的ubuntu,所以這無關(guān)緊要。重要的是想要www-data屬于該ubuntu組以便寫入當(dāng)前數(shù)據(jù)庫文件,但它不在該組中。你可以編輯/etc/groups來解決這個(gè)問題。

或者,您可能希望$ sudo chgrp www-data data.db(或 chown)授予 apache Web 用戶對該文件的訪問權(quán)限。


查看完整回答
反對 回復(fù) 2022-10-06
?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

終于自己弄清楚是什么問題:這個(gè)問題背后的錯(cuò)誤是apache用戶與ubuntu不同。所以當(dāng) apache 運(yùn)行我的 web 應(yīng)用程序時(shí),它是從不同的工作目錄運(yùn)行的,當(dāng)然找不到數(shù)據(jù)庫文件。


因此,我首先在代碼中更改了數(shù)據(jù)庫 .db 文件的路徑以更正絕對路徑,如下所示:


engine = create_engine('sqlite:////home/ubuntu/flaskproject/data.db',connect_args={'check_same_thread': False})

然后將項(xiàng)目文件夾和數(shù)據(jù)庫文件的所有者更改為 www-data(apache 用戶):


sudo chown www-data .

sudo chown www-data data.db

并確保所有者對項(xiàng)目文件夾和 data.db 文件具有讀寫權(quán)限(在我的情況下已經(jīng)滿足)


解決權(quán)限問題的另一種解決方案是將用戶 www-data 添加到 ubuntu 組,因此我們不需要更改項(xiàng)目文件夾和 data.db 文件的所有者(但要確保 ubuntu 組中的用戶具有讀寫權(quán)限)


usermod -a -G ubuntu www-data

所以總的來說,只要數(shù)據(jù)庫的路徑是正確的(建議絕對路徑)并且用戶 www-data 具有項(xiàng)目文件夾和數(shù)據(jù)庫文件的權(quán)限,一切都應(yīng)該正常。


查看完整回答
反對 回復(fù) 2022-10-06
  • 2 回答
  • 0 關(guān)注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號