flask_reddit

我要开发同款
匿名用户2021年12月10日
40阅读
开发技术Python
所属分类Web应用开发、Web框架
授权协议MIT License

作品详情

flask_reddit

flask_redditisanextendable+minimalistRedditclone.

ThiswasbuiltsobeginnerswhowantastandardCRUD+reddit-likeapplicationcanquicklygettowork.

Weutilize:

flaskasthewebframework.nginxastheHTTPserverguniconasthewsgiserver.MySQLforourdatabaseflask-sqlalchemyasourORM.bootstrap-journalthememakesusbeautiful.virtualenvemcompasseseverything.supervisordmakessureourservicenevercrashes.

Andthatsprettymuchit!

Alloftheconfigutationsareinthisrepository.Deploymentinstructionswillbeoutsoon.

FeaturesthreadedcommentsupvotingsubredditsuserkarmasearchratelimitingajaxformpostinguserprofilesBuildInstructionsSetupaninstanceofMySQLonyourserver.Noteyourusernameandpassword.sudoapt-getupdatesudoapt-getupgradesudoapt-getinstallmysql-serverlibmysqlclient-devSetupaninstanceofnginxonyourserver.I'veprovidedthe.confscriptsneededforourserversinthe/serverdirectory.

sudoapt-getinstallnginx

Configureyournginxsettingslocatedinflask_reddit/server/nginx.conf.

Addyoursettingsintoyourglobalconffilelocatedin/etc/nginx/nginx.conf

Restartnginxtorecognizeyoursettingssudoservicenginxrestart

Setupsupervisordtomonitoryourprojecttomakesureitnevercrashes.Supervisorisalsoconvenientforsimplyrestarting/startingyourprojectwithease.

sudoapt-getinstallsupervisor

WhenSupervisorisinstalledyoucangiveitprogramstostartandwatchbycreatingconfigfilesinthe/etc/supervisor/conf.ddirectory.I'veprovidedtheconffilewhichweuseintherootdirectoryofthisrepoassupervisor.conf.AnexamplesupervisorcommandwouldberunningsupervisorctlrestartYOUR_APP_NAMEtorestartgunicornandbringupnewchanges.

Installvirtualenvandsetupaprojectrootwhereeveryouwant.

sudoapt-getinstallpython-virtualenv;cd/path/to/project;virtualenvreddit-env;cdreddit-env;sourcebin/activate;#viola,youarenowinanenclosedpythonworkspace.Downloadtherepositoryandinstallalloftherequiredpythonmoduleswhichthisserveruses.gitclonehttps://github.com/codelucas/flask_reddit.git;cdflask_reddit;pipinstall-rrequirements.txt

Duetosensitiveconfigurationinformation,Ihavehiddenmypersonalconfig.pyfileinthegitignore.But,Ihaveprovidedacleanandeasytouseconfigtemplateinthisreponamedapp_config.py.

Fillouttheflask_reddit/app_config.pyfilewithyourowninformationandthenrenameittoconfig.pysoflaskrecognizesitbyusingmvapp_config.pyconfig.py.Pleasebesuretofilloutthemysqldbsettingssimilarlytohowyousetitup!,username,pass,etc

Runthekickstart.pyscripttobuildthefirstuserandsubreddits.

python2.7kickstart.py

flask_reddithastaskswhichmustoccuronregulartimeintervals.Tomakethishappen,weusethecrontab,whichispresentonUNIXsystems.

Acrontabisadashwhichallowsyoutospecifywhatprogramstorunandhowoften.I'veprovidedflask_reddit'sexamplecrontabintherootdirectoryasjobs.cron.

Toviewyourcurrentcrontab,runcrontab-l.Toedityourcrontab,runcrontab-e.

Pastethecontentsofjobs.cronintoyourcrontabbyrunningcrontab-eandpasting!Moredirectionsarepresentinthejobs.cronfile.

Runthegunicornserver.Youwon'thavetodothiseveragainifsupervisorissetupproperly.

sudoshrun_gunicorn.sh

Notethatwehavenowdeployedtwoservers:nginxandgunicorn.nginxisourinternetfacingHTTPserveronport80whilegunicornisourwsgiserverwhichisservingupourflaskpythonapplicationlocally.nginxreadsclientrequestsanddecideswhichrequeststoforewardtoourgunicornserver.Forexample,nginxservesstaticcontentlikeimagesverywellbutitforwardsurlroutestothehomepagetogunicorn.

Forafulllistofdetails,viewourconfigsatserver/nginx.confandserver/gunicorn_config.py.

Note,forthisbuildtoworktherearepathsthatyoumustchangeinthewsgi.pyfile,theserverconfigslocatedinserverdirectoryandtherun_gunicorn.shfile.

Refertotheflaskprojectconfigurationoptionstounderstandwhattoputinyourownconfig.pyfile.

Donothesiatetocontactmeforhelporconcerns.

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论