Ubuntu16.04でNginx + PHP 7.0 + MySQL環境を構成します

lnmp.orgのワンクリックインストールパッケージを使用してWebサーバーを構成する前は、移動するのが面倒で、nginxの構成についてあまり知りませんでした。新しいvpsを購入した後、サーバー環境を再構成する必要があります。この機会に、vpsを1つずつ手動でインストールして、慣れてください。

vpsをデプロイするときに、Ubuntu 16.04システムを選択したため、次の操作はこのシステムに基づいています。

当時はrootアカウントでログインしていたので、コードの前にsudoはありません。Ubuntuデスクトップバージョンにインストールする場合は、各コマンドの前にsudoを追加することを忘れないでください。

ソフトウェアリストを更新し、さまざまなソフトウェアをアップグレードします##

apt-get update && apt-get-y upgrade

Apacheをアンインストールします##

apt-get remove apache2

nginx、PHP7.0、php7.0-fpmをインストールします##

適切なワンクリックで直接インストールします。通常、コンパイルするためにソースコードをダウンロードする必要はありません。

apt-get-y install nginx php7.0 php7.0-fpm

nginxおよびphp7.0-fpmサービスの動作を確認します

systemctl status nginx
systemctl status php7.0-fpm

異常がない場合は、緑色のアクティブ(実行中)プロンプトが表示されます。qを入力してインターフェイスを終了します。
通常、両方のサービスがアクティブ(実行中)である必要があります

[MySQL](https://cloud.tencent.com/product/cdb?from=10680)をインストールします##

apt-get-y install mysql-server mysql-client

インストール中に紫色の背景インターフェイスが表示されます。MySQLルートアカウントのパスワードを設定します。複雑なパスワードを設定することをお勧めします

MySQLをインストールした後、セキュリティ構成ウィザードを1回実行することをお勧めします。これにより、ルートアカウントのパスワードの確認、MySQLへのリモートアクセスの禁止、匿名ユーザーの削除、データテーブルのテストなどを行うことができます。
セキュリティ構成ウィザードコマンド

mysql_secure_installation

プロンプトに従ってください

phpMyAdminをインストールします##

[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サイトにアクセスできます。

Nginx構成を変更します##

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

Ubuntu16.04でNginx + PHP 7.0 + MySQL環境を構成します
Ubuntu18.10はJava環境を構成します
UbuntuにMySQLをインストールする
Ubuntu 14.04でのDjango&MySQL環境の展開
Ubuntu環境でPHPとNginxをコンパイルしてインストールする方法
UbuntuサーバーでPHPオペレーティング環境をセットアップする方法
CentOS 7はNginx、PHP、MySQLパッケージをインストールします
UbuntuにMySQLをインストールして構成する
Ubuntu16.04ビルドphp5.6Webサーバー環境
CentOS7はphp言語開発環境を構成します
Ubuntu 18.04にMySQLをインストールします(グラフィックチュートリアル)
ubuntuでのJDK環境変数の構成方法
ubuntuでC ++コンパイル環境を構築する
Ubuntu20.04LTSでJava開発環境を構成する
Linux環境の構築:CentOs + Apache + MySQL + PHP
UbuntuシステムでNginxGitサーバーを構成する
UbuntuはPHPとPHPNginxの設定方法をインストールします
[PHP] CentOSでPHPオペレーティング環境を構築する
ubuntu16.04でandroidデバッグツールadbを構成します
Ubuntuでpython開発環境を構築する
UbuntuでMySQLパスワードを変更する方法
Ubuntu14.04でノードjsとnpmを構成します
Ubuntu 16.04にJDKをインストールし、環境変数を構成します
ubuntu Django + Uwsgi + Nginxの実稼働環境の展開
UbuntuでTensorFlow使用環境を構成する方法
UbuntuはTomcatを構成します
Ubuntu環境でMySQLデータベースにリモート接続する
UbuntuはApacheを構成します
Ubuntu14アップグレードMySQL
Ubuntu14.04でMysqlリモートアクセスを有効にする方法
Ubuntuを構築および構成するための組み込みLinux開発環境
CentOSの下のyumにPHPをインストールし、php-fpmサービスを構成します
ubuntu環境でのMySQLのインストールと簡単な実践(1)
Centos7でのJDK、mysql、tomcatの環境構成
UbuntuサーバーにMono本番環境をインストールして構成します
Ubuntuのnginxサーバーでhttpsを開く方法
ubuntuの下のLinux環境で発生した問題を解決します
Ubuntuにapache + PHPをインストールします
Ubuntuにnode.jsをインストールします
ubuntu16.04はGPU環境を展開します
Ubuntu16.04にpython3.6をインストールします
ubuntu redisphpのインストール
CentOS7の下にmysql5.7をインストールします
ubuntu14.10の下にThriftをインストールします
UbuntuにOpenJDK10をインストールします
Ubuntu14.04にCaffeをインストールします
UbuntuでのPythonMySQLd
Ubuntu構成開発環境
Ubuntu14.04にmysqlをインストールします
ubuntuでiptablesを使用する
Ubuntu開発環境の構成
ubuntu 14.043線式3IPの構成
2018-09-11Ubuntuにarduinoをインストールします
Ubuntu configurenetworkコマンド
UbuntuでのLNMPのインストール
Ubuntuでのネットワーク構成
Python仮想環境:Ubuntu16.04
UbuntuはMySQLを完全に削除します
UbuntuTouch環境のセットアップ
Centos7にmysqlをインストールします
ROS Ubuntu 18.04 [2]にROSをインストールします。