質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Q&A

解決済

5回答

1337閲覧

Apache+PHPのような、ファイル差替えレベルで簡単に更新できるWebシステムの環境は他にありますか?

reimer0204

総合スコア27

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

0グッド

1クリップ

投稿2020/01/27 04:22

前提・実現したいこと

Apache+PHPのような、
0. 何かを再起動しなくてもファイル差し替えレベルでプログラムが更新できる
0. サブディレクトリ単位で良ければシステムを増やすのもファイルアップロードだけでOK
例)
http://hogehoge.com/a-system
http://hogehoge.com/b-system
0. Linux上でも環境構築が容易なもの

が満たせるWebの環境というと、他に何がありますでしょうか?
大規模なものであればそもそもデプロイ用のものを準備するのですが、個人用の小規模なものを1サーバーで複数管理しているため、なるべくお手軽に更新できる環境を探しています。

理由・試したこと

上記環境から乗り換えたい理由としては、PHPの配列関連の操作(mapやfilter等)があまりスマートでないなと感じ始め、別の更新が活発な言語をベースとした環境にしたいというのが理由になります。
現時点ではNode(Javascript)が軽くて書きやすいので良いかなとは思っているのですが、Node含め大抵の環境はその言語で書いたもの自体がサーバーになって1システムでポートを1つ使ってしまうので、なかなか1サーバー上で複数システムを管理しようとすると結局プロキシ周りをどうにかする必要が出てきて上記の2.が簡単には満たせない状態です。

まとめ

上記3点を満たせる環境、もしくは満たせなくても他のツール等でカバーできるような環境はありますでしょうか?
そもそもそんな雑な運用をするのがどうかという問題はあるのですが、何卒アドバイスいただけますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答5

0

以前までは、ちょっとした理由で1つのサーバーに複数のPHPフレームワークをインストールしているものがありました。(Laravel 3個、CakePHP 2個、WordPress 4個)

基本的に、一つのサーバーに複数のフレームワークが入れられないものって少ないと思うのでそのような悩みは発生しにくいと思ったり、、、

該当条件だと、CakePHP、Laravel、WordPressあたりかな

投稿2020/01/27 05:43

kyoya0819

総合スコア10429

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kyoya0819

2020/01/27 05:53

簡単さだと WordPress > CakePHP >= Laravel かな
reimer0204

2020/01/27 07:18

回答ありがとうございます。質問が分かりにくく申し訳ございません。 Apache+PHPならシステムもフレームワークも1サーバーに複数導入できるのは承知しているのですが、今回はPHPからそもそも離れたく、他の環境でそういったことができるものはないかという質問でした。
guest

0

昔ながらのCGIを使う(言語はスクリプト系で適宜選べる)、という方法も考えられます。

ただし、性能面もそうですが、セキュリティ面についても担保するのは大変かもしれません。

投稿2020/01/27 05:19

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

reimer0204

2020/01/27 07:12

回答ありがとうございます。 今から新規にCGIを使うのはなかなかに色々と懸念点が出てきますね… ただシステムの内容によっては選択肢の1つとして良さそうですね!ありがとうございます。
guest

0

Ruby (Ruby on Rails) でも満たせそうですし、Python なんかでも行けそうではありますが……
手段と目的が逆転してしまっていませんか。
PHP のイケてないところを嫌うあまり、PHP のメリットをすべて捨てるだけの魅力が他の環境にあるのか、きちんと検討するのが先では。

あと、更新が活発な言語だと、フレームワークがメジャーバージョンアップでごっそり変わって互換性がない、とか悲惨な目に遭うこともなくはないですね……

余談:
Apache + FastCGI * Perl だと、Apache の graceful 再起動無しだと反映が上手く反映されない場合があるような?

投稿2020/01/27 07:57

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

reimer0204

2020/01/27 09:25

ご回答ありがとうございます。 > PHP のイケてないところを嫌うあまり、PHP のメリットをすべて捨てるだけの魅力が他の環境にあるのか、きちんと検討するのが先では。 ここはご指摘の通りなのですが、PHPで感じているメリットというと質問文の方に記載した3点でして、それをクリアできるのであれば他環境でもいいかなぁと考えています。 ※他言語+各種フレームワークも触ったことはあるのですが、どれも前述の理由で小規模なシステム前提だと運用がなぁという悩みがある状態です。 確かに更新が活発、というと少し問題が起きそうで怖さはありますね… PHPにもアロー関数がやっと追加されたとのことですが、そのくらいの更新はもっと早くても良かったんじゃないかなーと思ってまして、そういう意味でいうと更新が遅くなければ十分かもしれません。
guest

0

ベストアンサー

1-3全てを厳密に満たそうとした場合、Perlくらいしか残らないんじゃないかなと思います。

上記環境から乗り換えたい理由としては、PHPの配列関連の操作(mapやfilter等)があまりスマートでないなと感じ始め、別の更新が活発な言語をベースとした環境にしたいというのが理由になります。

となるとPerlもNGなはずなので、素直にリバースプロキシやロードバランサを挟んでNode.jsを使ったり、小規模であってもCIツールを挟んで更新が楽になるように構築するのが良いんじゃないかなと思いますよ。

投稿2020/01/27 05:15

tanat

総合スコア18713

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

reimer0204

2020/01/27 07:04

回答ありがとうございます。 やはり言語を乗り換えるなら環境の面倒を見る手間は仕方ないですかね… このまま見つからなさそうな場合、運用を楽にする方向で検討を進めたいと思います!
guest

0

どんな小規模でも全部Laravel系で作ってるのでこういう不満は分からない。

  • PHPの素のarray関連関数は使わない。LaravelのヘルパーやCollection
  • サーバー1台で何十サイトも動かしても個人レベルなら平気。サブドメインで分ける。

CでPHPを作ってるようにPHPを低水準言語としてフレームワークを作ってる。
PHPの標準関数の仕様が狂ってるのは誰でも知ってる通り。
そんな標準関数は使わずフレームワークの世界だけ見て使えばいい。
今PHP使ってる人はフレームワークが当然なので根本的な視点のレイヤーが違う。

投稿2020/01/27 05:02

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

reimer0204

2020/01/27 06:55

回答ありがとうございます。 ヘルパーを使えばマシになるというのはそうなんですが、ラムダ式が他の言語みたいに短く書けないのがイケてないなぁというのが正直なところでして…(ラムダ式もx => x * 2くらいの手軽さで書ける方法があればご指摘ください) フレームワークを使ったところで言語レベルの仕様は変えられないので、他の言語に移りたいという状態です。
reimer0204

2020/01/27 08:06

すみません!上記発言、取り消します! PHP7.4がもうリリースされていて、そこでラムダ式がかなり簡単に書けるようになっていたんですね(7.3の知識で止まってました…)。 それならヘルパーかませばかなり他の言語と遜色ない感じに書けるようになりますね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問