Pythonが好きでこのサイトもPython製の静的サイトジェネレータPelicanで作っています。Web開発のお仕事も、できればPython製のDjangoを使いたいと思っています。
今回、OSをCentOS7からRockyLinuxに変更するために、VPSをリプレースすることにしました。ファイルの移動やhttpdの設定は完了したはずなのですが、サイトを表示すると、「500 Server Error」という表示が...
apacheのerrorログには何も出力されないため、仕方なくDEBUG = True
にして見てみたところ、UnicodeEncodeErrorが出ていました。いろいろ調べた結果、この記事にたどり着きました。どうもapacheの言語設定がデフォルトでLANG=C
となっているみたい。
そこで、以下の手順で、LANG=ja_JP.UTF-8
に設定しました。
/etc/systemd/system/httpd.service.d/override.conf
に、以下を記述。
[Service]
Environment=LANG=ja_JP.UTF-8
sudo systemctl daemon-reload
sudo systemctl restart httpd
/usr/lib/systemd/system/httpd.service
によると、systemctl edit httpd
とすれば変更できるとあるのですが、何度やっても一時ファイルを保存するところで、
Editing "/etc/systemd/system/httpd.service.d/override.conf" canceled: temporary file is empty.
とエラーが出てしまったため、override.conf
を新規作成したら解決できました。
最後に、環境を書いておきます。
- OS: Rocky Linux 9.2
- Apache Httpd: 2.4.53
- Django: 4.2.4
- Python: 3.11.2