勝っおいるWeb開発者向けのサバむバルキット*



こんにちは

長い間、Habrに関する蚘事を曞く぀もりでしたが、ようやく準備が敎いたした。

Windowsでのりェブマスタヌの生掻を倧幅に簡玠化する1぀のアセンブリに぀いお説明したす。

物語はこれです-次の「タンバリンず螊る」䞭に、顧客からの勝利のためにりェブ環境を高めるために、私はこのすべおの魔法が私を手に入れたこずに気付きたした。

Pythonでmod_wsgiモゞュヌルを芋぀けおWinでコンパむルされ、Postge SQLデヌタを初期化するためにレベル50の゚レメンタルを怜玢しお呌び出すのにうんざりしおいたす。

シンプルで柔軟性があり、最も重芁なのはポヌタブルなものです。

぀たり ハントは、䞀床セットアップしおから、別の堎所にコピヌしお開始し、既補のデヌタず蚭定を含む環境党䜓が䞊昇するこずでした。

同じUbuntが長い間存圚するのに、なぜ勝぀のか 私たちはしばしば゜フトりェアを䜿っお顧客に行き、デモを芋た埌、「それで遊べたすか」ず蚀ったので、もちろん、コンピュヌタヌの90にはもちろんりィンドりがありたした。

この分野の内容を芋お、限られた解決策だけを芋た埌、私は座っお自分で曞きたした。 「䞊手くやりたい-自分でやる」のように。

アむデアはシンプルでした。りェブ開発者のポヌタブルな環境を「䞋曞きや女性の重い動䜜にならないようにする」こずで、ゎミを残さずに配信しお削陀できるようにし、
システムの茪郭たたはこのオペラのその他の芁玠。

したがっお、「 Windows Web Survival Kit 」たたはWWSK-ポヌタブルな「Apache + Node + PHP + Python + MySQL + PgSQL + Utilities」ずいうアセンブリが生たれたした。

アセンブリの移怍性移怍性はどのように䜜成されたすか
私は「額」ず呌ばれるものの物理的経路からプログラムを「解き明かしたした」が、すべおが非垞にシンプルで明確です。
アセンブリのルヌトフォルダヌを「www」ずいうフォルダヌにしたした぀たり、呚囲のすべおがその䞭に存圚したすが、既にどこにでも配眮できたす。
構成ごずに、フルパスが必芁な堎所では、パスは「/ Www / path-where-need-relative-to-folder-www」ずしお瀺されたす。
コピヌ埌、新しいパスにコピヌするず、特別なファむルが起動したす。これは倧たかに蚀っお次のこずを行いたす。すべおの「初期」構成を取埗し、「」サヌビスを登録したす。

ベヌスアセンブリの内郚には䜕がありたすか
Apache-起動時にApacheSAサヌビスを登録したす。
MySQL-起動時にMySQLSAサヌビスを登録したす。
PgSQL-起動時にPgSQLSAサヌビスを登録したす。
fast-cgiずしお接続されたPHP 5。
mod-wsgiずしお接続されたPython 3たたは2

コンポヌネントが停止するず、サヌビスも停止しお登録解陀されたす。

どのバヌゞョンのWindowsで動䜜したすか
Windows XP32/64、Windows 732/64は正確に機胜したす。
理論的には、Windows 8で動䜜するはずですが、残念ながらチェックする方法がありたせんでした。

組立構造
次のフォルダヌがルヌトにありたす。

そしおファむル

Sysフォルダヌ
内郚には、これらすべおのサヌビスの構成テンプレヌトを保存するapacheData、mysqlData、pgsqlData、phpData、pythonDataのサブフォルダヌがありたす。
これらは、アセンブリを新しいフォルダヌにバむンドするずきに、パスが倉曎された適切な堎所にコピヌされる同じ構成テンプレヌトです。

さらに、デヌタベヌスのマネヌゞャヌ  mysqlData / managerおよびpgsqlData / manager もそこに保存されたす。
マネヌゞャヌはアセンブリに含たれおいたせん-誰もが圌が慣れおいるものを䜿甚できたす。
私はEMS MySQLずPgSQLマネヌゞャヌを䜿甚したす-機胜性ず利䟿性の点で最も気に入っおいたす。
最も重芁な条件は、これらのフォルダヌ内のマネヌゞャヌの実行可胜ファむルはmanager.exeず呌ばれるこずです。

sysフォルダヌのルヌトには、 services.cmdコマンドラむンからアセンブリを操䜜するための別のファむルがありたす。
たずえば、 services.cmd RestartApacheのようにApacheを再起動できたす 。
これが人生で必芁になるこずはたずありたせん-すべおはメニュヌから行うこずができたすが、誰かが自分の䜕かを固定したい堎合は、機䌚がありたす。

Tmpフォルダヌ
アセンブリ党䜓の䞀時ディレクトリ。
䞀時ディレクトリを指定する必芁があるすべおの構成では、ここに瀺されおいたす。
その内郚では、PHPセッションが存圚するセッションディレクトリを陀くすべおを削陀できたす。

ツヌルフォルダヌ
さたざたなツヌルのあるフォルダヌ。
Apache、MySQL、NodeJS、PgSQL、PHP、Pythonのサブフォルダヌには、これらのサヌビスのさたざたなドックずトリックに加えお、远加機胜を実行できるサヌビスファむルが含たれおいたす。
たずえば、デヌタベヌスの堎合、デヌタベヌスのダンプのむンポヌトず゚クスポヌト、デヌタベヌスの初期化などのためのバッチファむルがありたす。

さらに、このフォルダヌにはGIT同じ名前のフォルダヌ、YUIミニマむザヌMinimizerフォルダヌ、Image OptimizersIMGoptimizeフォルダヌ、cURL、Inkscapeなどがありたす。

垞に䜿甚するツヌルがある堎合は、ここに配眮できたす。

Webrootフォルダヌ
このフォルダヌには、ApacheたたはNodeJS構成でパスが指定されおいるサむトのあるラむブフォルダヌです。

ここでの唯䞀の特別なサブフォルダヌは、 Pythonの mod_wsgiのホストハンドラヌが存圚するPythonサブフォルダヌです。たた、Apache構成にも登録されおおり、い぀でも奜きなものに眮き換えるこずができたす。

ビルド曎新
曎新により、すべおが簡単になりたす。サむトから目的のコンポヌネントをダりンロヌドし、眮換ファむルを䜿甚しお目的のフォルダヌに解凍したす。

ただし、もちろん、いく぀かのニュアンスがありたす。

補造元はmsiパッケヌゞずしおいく぀かのコンポヌネントを提䟛し、 msiexec /コマンド "MSI package name" TARGETDIR = "CD\ tmp" / qbを䜿甚しおwinでアンパックできたす。目的のフォルダヌにコピヌできたすtmpフォルダヌで、泚意深いMSIむンストヌラヌがそこに眮くパッケヌゞファむルのコピヌを削陀するこずを忘れないでください。

ビルド機胜


アセンブリの開始
最初に行うこずは、構成テンプレヌトに移動しsysフォルダヌに関する情報を参照、それらを「自分甚に」調敎したす。 webroot内のサむトで必芁なフォルダヌを指定し、必芁なPythonのバヌゞョンを芋぀けたす。

アセンブリをどこかにコピヌする操䜜䞭、たたは再構成䞭に、アセンブリのすべおのコンポヌネントを停止する必芁がありたす 。 Apache、MySQL、PgSQLなどを停止する必芁がありたす。
これを実行するには、ランナヌから[ すべお停止]を遞択したす。

次にランナヌを実行し、そこでSet configurationを遞択するか、 すぐにsetconfを実行しおReset to defaultsを遞択し、珟圚のパスをメむンパスずしお蚭定したす。この埌、アセンブリはこのフォルダヌで動䜜するように再構成されたす。

芚えおおくべき䞻なこずは、この操䜜の埌、珟圚のすべおの構成がテンプレヌト構成に眮き換えられるこずです そしお、それらを倉曎したが、テンプレヌトを倉曎しなかった堎合、これらの倉曎は倱われたす。

再構成埌、ランナヌから必芁なサヌビスを開始したす。これで䜜業は完了です。 たずえば、127.0.0.1のブラりザに移動し、蚭定でこの蚭定が倉曎されおいない堎合、サむトはwebrootのルヌトから開く必芁がありたす。

アセンブリを初めお起動した堎合-少なくずも1぀のデヌタベヌスを䜜成しお、MySQL / PgSQLデヌタベヌスを初期化するこずを忘れないでください。

問題

それらに察するいく぀かの質問ず回答



それだけです。

私は最も簡単な解決策を可胜にし、可胜な限り簡単に説明しようずしたした。
゚レメンタルが平和に眠り、りェブ開発者が最終的に圌がすべきこず、぀たり開発を行うこずを願っおいたす。

このアセンブリの䞻な利点は、䞍必芁なもの-最も必芁なものだけ-のすべおが䞍足しおいるこずだず思いたす。他のすべおは自由に蚭定できたす。「自分にずっお、最愛の人」です。Windowscmd / batで䜜業するのは難しくありたせん。
必芁に応じお、[ツヌル]フォルダヌで必芁なすべおのツヌルをい぀でも非衚瀺にしお、メニュヌで䜜業を登録できたす。

しかし、それが実際にどのようにあなたに起こったかを決定するために-質問、バグレポヌト、提案を歓迎したす-私は圌らにずおも喜んでいたす。

この仕事を楜しんでいただければ幞いです。時間ず神経の節玄は、私にずっお最高の報酬です。

PS本圓にUFOずすべおの芪切な人々に感謝したす-私はこの玠晎らしいコミュニティにもいたす

Source: https://habr.com/ru/post/J212059/


All Articles