lnmp.orgのワンクリックインストールパッケージを使用してWebサーバーを構成する前は、移動するのが面倒で、nginxの構成についてあまり知りませんでした。新しいvpsを購入した後、サーバー環境を再構成する必要があります。この機会に、vpsを1つずつ手動でインストールして、慣れてください。
vpsをデプロイするときに、Ubuntu 16.04システムを選択したため、次の操作はこのシステムに基づいています。
当時はrootアカウントでログインしていたので、コードの前にsudoはありません。Ubuntuデスクトップバージョンにインストールする場合は、各コマンドの前にsudoを追加することを忘れないでください。
apt-get update && apt-get-y upgrade
apt-get remove apache2
適切なワンクリックで直接インストールします。通常、コンパイルするためにソースコードをダウンロードする必要はありません。
apt-get-y install nginx php7.0 php7.0-fpm
nginxおよびphp7.0-fpmサービスの動作を確認します
systemctl status nginx
systemctl status php7.0-fpm
異常がない場合は、緑色のアクティブ(実行中)プロンプトが表示されます。qを入力してインターフェイスを終了します。
通常、両方のサービスがアクティブ(実行中)である必要があります
apt-get-y install mysql-server mysql-client
インストール中に紫色の背景インターフェイスが表示されます。MySQLルートアカウントのパスワードを設定します。複雑なパスワードを設定することをお勧めします
MySQLをインストールした後、セキュリティ構成ウィザードを1回実行することをお勧めします。これにより、ルートアカウントのパスワードの確認、MySQLへのリモートアクセスの禁止、匿名ユーザーの削除、データテーブルのテストなどを行うことができます。
セキュリティ構成ウィザードコマンド
mysql_secure_installation
プロンプトに従ってください
[MySQLデータベース](https://cloud.tencent.com/product/cdb?from=10680)は、phpMyAdminを介してWeb経由で簡単に操作できます。また、apt-getを使用してここにインストールすることもできます。
apt-get-y install phpmyadmin
インストールプロセス中に、WebサーバーがApacheであるかlibhttpdであるかを尋ねる2つのオプションがあります。ここではどちらでもないので、1つを選択してください。
インストール後、phpMyAdminは/ usr / share / phpmyadminディレクトリにあります。nginxを構成するときに、WebサイトのルートディレクトリをここにポイントすることでphpMyAdminにアクセスできます。
まず、簡単に操作できるようにWebサイト専用のディレクトリを指定できます。ここでは/ var / wwwを使用します。まず、mkdirコマンドを使用してフォルダを作成します。
mkdir /var/www
ここでは、2つのサイトを構成します。1つはブログ(Typechoに基づく)、1つはphpMyAdminプログラム、両方はPHP言語に基づくプログラムです。
ブログの場合、最初に/ var / wwwディレクトリにフォルダを作成して、ブログのソースコードを保存します。ここではブログを使用します
mkdir /var/www/blog
次に、ブログルートディレクトリのファイルをブログフォルダに配置します。ここでは、Filezliaを使用して直接アップロードします。
Filezliaがvpsに接続すると、sftpを使用してログインします。一般的にはrootユーザーであるため、rootユーザーの下にアップロードされたファイルの所有者はrootです。デフォルトでは、nginxはwww-dataユーザーとして実行され、所有者がrootであるファイルを書き込む権限はありません。そのため、ファイルの所有者を変更しないと、ブログプログラムがテーマのソースコードをオンラインで変更できない、ファイルをアップロードできないなどの状況が発生する可能性があります。したがって、ウェブサイト上のすべてのファイルの所有者をwww-dataに変更し、-R(再帰)パラメータchownコマンド:
chown -R www-data:www-data /var/www
Webサイトファイルをアップロードした後、このコマンドを実行して、phpがWebサイトファイルに書き込めるようにし、あらゆる種類の奇妙な問題を回避できます。これは、Webサイトディレクトリをフォルダの下に置くことの利点も反映しています。簡単なコマンドですべてのファイルの所有者を変更できます。
Webサイトのファイルが配置されたら、nginx構成の変更を開始でき(実際には順序はありません)、構成後にWebサイトにアクセスできます。
2番目のステップでnginxphp7.0 php7.0-fpmをインストールすると、基本的なphpサーバーがセットアップされましたが、まだ構成されていないため、当面は期待どおりに実行できません。
まず、lnmpアーキテクチャWebサーバーによる要求の処理プロセスを理解しましょう。一般的に、nginxが受信したリクエストが静的ファイルを指している場合、nginxは対応するファイルをクライアントに返します。nginxが受信したリクエストがphpスクリプトを指している場合、nginxはリクエストをリダイレクトします。 php7.0-fpmで処理し、処理結果をクライアントに返します。
nginxの場合、すべての構成は/etc/nginx/nginx.confファイルで行われます。ファイルの下部にあるnginx.confを開きます。
include /etc/nginx/sites-enabled/*;
つまり、デフォルトの構成では、nginxは/ etc / nginx / sites-enabled /ディレクトリ内のすべてのファイルの構成を自動的にインポートし、これらのファイルの構成はnginx.confのhttp {}に含まれます。
通常、各サイトのサーバー構成をsites-enabledディレクトリに配置します。ここでは、各ドメイン名のサーバー構成を/ etc / nginx / sites-enabled / defaultファイルに直接追加します。
vim /etc/nginx/sites-enabled/default
vimエディターの使用方法がわからない場合は、sftpを使用してサーバーにログインし、ファイルをダウンロードして、他のテキストエディターで編集した後にアップロードすることもできますが、vimを直接使用してvpsで編集するよりもはるかに面倒です。
推奨読書:[NginxをWebサーバーとして構成する方法を本当に知っていますか](https://lufficc.com/blog/configure-nginx-as-a-web-server)
"#" その後のコメントはすべて自由に削除できます
# Default server configuration
#
server {
# ポート80でリッスンします。要求されたドメイン名が定義されていないか、ipから直接アクセスされた場合、処理のためにこのサーバーに渡されます。
listen 80 default_server;
listen [::]:80 default_server;
server_name _;return400;#デフォルトでは、直接IPアクセスを禁止しています。ドメイン名が設定されていない場合は、直接400が返されます。}
# phpMyAdminを構成します
server {
listen 80;
server_name phpmyadmin.izgq.net;
root /usr/share/phpmyadmin;
index index.php;
location ~ \.php$ {
include fastcgi.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;}}
# ブログの構成は基本的に同じです
server {
listen 80;
server_name blog.izgq.net;
root /var/www/blog;
index index.php;
location /{
try_files $uri $uri//index.php$is_args$args;}
location ~ \.php$ {
include fastcgi.conf;
include fastcgi_params;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;}}
変更後に構成を有効にするために、nginxサービスをリロードすることを忘れないでください
service nginx reload
それでウェブサイトは楽しく働き始めました
gdライブラリなどの一部のPHP拡張機能が使用中に欠落している場合、PHPは次のようなエラーを報告します。
apt-get install php7.0-gd
インストールするサフィックスを追加する
Recommended Posts