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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

MMMHUHU 2022-10-06 19:46:00
這是將 sqlalchemy 會話連接到數(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()我項目的所有文件都在 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這是來自瀏覽器的錯誤: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貢獻1790條經(jīng)驗 獲得超9個贊

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

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

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


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

TA貢獻1862條經(jīng)驗 獲得超6個贊

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


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


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

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


sudo chown www-data .

sudo chown www-data data.db

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


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


usermod -a -G ubuntu www-data

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


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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