簡単な説明 以前 Centos7 で構築し、その後個人開発環境として Ubuntu 20.04 を使っていたため、Ubuntu でも環境を構築したいと考えました。 Centos とは若干異なる部分もあるため、学習用として記録しておきます。 インストール前の準備 ソフトウェアをダウンロード: ファイルを解凍します: tar zxf php-7.3.18.tar.gz tar zxf mariadb-10.5.4.tar.gz tar zxf nginx-1.18.0.tar.gz Nginxをインストールする sudo groupadd -r nginx && sudo useradd -r -g nginx -s /sbin/nologin -d /usr/local/nginx nginx sudo apt install -y libpcre3-dev zlib1g-dev cd /home/allen/Downloads/nginx-1.18.0 ./configure --user=nginx --group=nginx make -j 4 && sudo make install sudo /usr/local/nginx/sbin/nginx -t #nginx: 設定ファイル /usr/local/nginx/conf/nginx.conf の構文は正常です #nginx: 設定ファイル /usr/local/nginx/conf/nginx.conf のテストが成功しました sudo mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.back sudo vim /usr/local/nginx/conf/nginx.conf ユーザー nginx; ワーカープロセス 4; イベント { ワーカー接続 1024; } http { mime.types を含めます。 デフォルトタイプ アプリケーション/オクテットストリーム; ファイル送信オン; キープアライブタイムアウト65; log_format main '$remote_addr || $remote_user || $time_local || $request || $status || $body_bytes_sent || $http_referer || $http_user_agent || $http_x_forwarded_for'; /data/www/*/*.conf をインクルードします。 } sudo chown -R nginx:nginx /usr/local/nginx sudo vim /lib/systemd/system/nginx.service [ユニット] 説明=nginx 後=ネットワーク.ターゲット [サービス] タイプ=フォーク 実行開始=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s 再ロード ExecStop=/usr/local/nginx/sbin/nginx -s 終了 プライベートTmp=true [インストール] WantedBy=マルチユーザー.ターゲット sudo systemctl nginx を有効にする # シンボリックリンク /etc/systemd/system/multi-user.target.wants/nginx.service → /lib/systemd/system/nginx.service を作成しました。 リブート 再起動後、正常に起動するか確認します。 Mariadbをインストールする sudo rm -rf /etc/mysql sudo apt 削除 -y mysql-common sudo apt 自動削除 -y sudo apt install -y cmake libncurses5-dev libgnutls28-dev sudo groupadd -r mysql && sudo useradd -r -g mysql -s /sbin/nologin -d /usr/local/mariadb mysql sudo mkdir -p /data/db /var/log/mariadb cd /home/allen/Downloads/mariadb-10.5.4/ cmake 。-DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DMYSQL_DATADIR=/data/db -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci make -j 4 && sudo make install sudo /usr/local/mariadb/scripts/mysql_install_db --user=mysql --datadir=/data/db sudo vim /etc/my.cnf [mysqld] データディレクトリ = /data/db ソケット = /tmp/mysql.sock # さまざまなセキュリティリスクを防ぐためにシンボリックリンクを無効にすることをお勧めします symbolic-links = 0 照合サーバー = utf8mb4_general_ci init-connect = '名前を設定する utf8mb4' 文字セットサーバー = utf8mb4 [mysql] デフォルトの文字セット = utf8mb4 [クライアント] ポート = 3306 ソケット = /tmp/mysql.sock デフォルトの文字セット = utf8mb4 [mysqld_safe] ログエラー = /var/log/mariadb/mariadb.log pid ファイル = /var/run/mariadb/mariadb.pid sudo cp /usr/local/mariadb/support-files/mysql.server /etc/init.d/mariadb sudo vim /etc/profile.d/mariadb.sh エクスポート PATH=$PATH:/usr/local/mariadb/bin/ sudo chmod 0777 /etc/profile.d/mariadb.sh ソース /etc/profile.d/mariadb.sh sudo /etc/init.d/mariadb を起動します #mariadb を起動しています (systemctl 経由): mariadb.service。 sudo /usr/local/mariadb/bin/mysql_secure_installation #注意: このスクリプトのすべての部分を実行することは、すべてのMariaDBで推奨されます。 # 本番環境で使用されているサーバー! 各ステップを注意深くお読みください! #MariaDBにログインしてセキュリティを確保するには、現在の #rootユーザーのパスワード。MariaDBをインストールしたばかりで、 #まだルートパスワードを設定していないので、ここで Enter キーを押すだけです。 #ルートの現在のパスワードを入力してください (パスワードがない場合は入力してください): #OK、パスワードの使用に成功しました。次に進みます... #ルートパスワードを設定するかunix_socketを使用すると、誰も #適切な権限がなくてもMariaDBのルートユーザーにログインできます。 #ルート アカウントはすでに保護されているため、安全に「n」と答えることができます。 #unix_socket認証に切り替える [Y/n] y #有効化に成功しました! #権限テーブルを再読み込みしています。 # ... 成功! #ルート アカウントはすでに保護されているため、安全に「n」と答えることができます。 #ルートパスワードを変更しますか? [Y/n] y #新しいパスワード: #新しいパスワードを再入力してください: #パスワードが正常に更新されました! #権限テーブルを再読み込みしています。 # ... 成功! #デフォルトでは、MariaDBのインストールには匿名ユーザーがあり、誰でも #ユーザーアカウントを作成せずにMariaDBにログインするには #them。これはテストのみを目的としており、インストールを確実にするために #もう少しスムーズに。 #本番環境。 #匿名ユーザーを削除しますか? [Y/n] y # ... 成功! #通常、rootは「localhost」からのみ接続を許可されます。これは #ネットワークから誰かがルートパスワードを推測できないようにします。 #リモートからのルートログインを禁止しますか? [Y/n] n # ... スキップします。 #デフォルトでは、MariaDBには誰でも使用できる「test」という名前のデータベースが付属しています。 #access。これもテストのみを目的としており、削除する必要があります #本番環境に移行する前に。 #テストデータベースとそれへのアクセスを削除しますか? [Y/n] y # - テスト データベースを削除しています... # ... 成功! # - テスト データベースの権限を削除しています... # ... 成功! #権限テーブルを再読み込みすると、これまでに加えられたすべての変更が確実に反映されます #すぐに有効になります。 #権限テーブルを今すぐ再読み込みしますか? [Y/n] y # ... 成功! #クリーンアップ中... #完了です!上記の手順をすべて完了すると、MariaDB #インストールは安全になるはずです。 #MariaDB をご利用いただきありがとうございます! sudo systemctl でmariadbを有効にする sudo chown mysql:mysql -R /usr/local/mariadb /data/db /var/log/mariadb リブート 再起動後、正常に起動するか確認します。 PHPをインストールする sudo apt install -y libxml2-dev libssl-dev libbz2-dev libcurl4-gnutls-dev libjpeg-dev libpng-dev pkg-config libxslt1-dev libzip-dev libfreetype6-dev libfontconfig1-dev autoconf sudo groupadd -r php && sudo useradd -r -g php -s /sbin/nologin -d /usr/local/php php sudo vim /etc/sudoers php ALL=(ALL:ALL) ALL cd /home/allen/Downloads/php-7.3.18/ ./CONFIGURE -PREFIX =/usr/local/php \ - exec-prefix =/usr/local/php-with-fpm-user = php-with-fpm-group = php-with-curl -with-gettex -pdo-mysql-with-pdo-sqlite -with-pear -with-xmlrpc -with-xsl -with-zlib -with-mhash-with-mhash-bcmath- -enable-sysvsem - enable-sysvshm - enable-xml -enable-fpm -with-freeType-dir -with-gd-with-libxml-dir -with-pcre-regex-enable-libxml -eenable-zip -with-png-dir -jpeg-dirir エラーがあります:
解決:
したがって、解決策は次のようになります。 cat ./configure | grep "freetype-config" -n 34847: テスト -f "$i/bin/freetype-config"; の場合 34849: FREETYPE2_CONFIG="$i/bin/freetype-config" 34855: as_fn_error $? "freetype-config が見つかりません。" "$LINENO" 5 36568: テスト -f "$i/bin/freetype-config"; の場合 36570: FREETYPE2_CONFIG="$i/bin/freetype-config" 36576: as_fn_error $? "freetype-config が見つかりません。" "$LINENO" 5 sed -i "s/freetype-config/pkg-config/g" ./configure cat ./configure | grep "FREETYPE2_CONFIG --cflags" -n 34858: FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags` 36579: FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags` sed -i "s/FREETYPE2_CONFIG --cflags/FREETYPE2_CONFIG freetype2 --cflags/g" ./configure cat ./configure | grep "FREETYPE2_CONFIG --libs" -n 34859: FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs` 36580: FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs` sed -i "s/FREETYPE2_CONFIG --libs/FREETYPE2_CONFIG freetype2 --libs/g" ./configure cat ./ext/gd/config.m4 | grep "freetype-config" -n 188: テスト -f "$i/bin/freetype-config"; の場合 190: FREETYPE2_CONFIG="$i/bin/freetype-config" 196: AC_MSG_ERROR([freetype-configが見つかりません。]) sed -i "s/freetype-config/pkg-config/g" ./ext/gd/config.m4 再コンパイルしてインストールOK PHPをご利用いただきありがとうございます。 make -j 4 && sudo make install sudo cp php.ini-production /usr/local/php/lib/php.ini sudo cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf sudo cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf vim /usr/local/php/etc/php-fpm.d/www.conf リスンモード = 0666 午後最大子供数 = 128 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 午後最大リクエスト数 = 10000 スローログ = log/$pool.log.slow 制限ファイル数 = 1024 sudo vim /etc/profile.d/php.sh エクスポート PATH=$PATH:/usr/local/php/bin/ sudo chmod 0777 /etc/profile.d/php.sh && ソース /etc/profile.d/php.sh sudo cp sapi/fpm/php-fpm.service /etc/systemd/system/php.service xdebugをインストールする xdebug をダウンロード http://pecl.php.net/get/xdebug-2.9.6.tgz cd /home/allen/download tar zxf xdebug-2.9.6.tgz xdebug-2.9.6 を CD してください phpize ./configure --with-php-config=/usr/local/php/bin/php-config make -j 4 && sudo make install Apcuのインストール Apcu をダウンロード http://pecl.php.net/get/apcu-5.1.18.tgz cd /home/allen/Downloads tar zxf apcu-5.1.18.tgz cd apcu-5.1.18 phpize ./configure --with-php-config=/usr/local/php/bin/php-config make -j 4 && sudo make install PHP.INIを編集する 須藤 vim /usr/local/php/lib/php.ini date.timezone = Asia/上海 expose_php = オフ 最大実行時間 = 0 メモリ制限 = 4096M display_errors = オン cgi.fix_pathinfo=0 extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/" 拡張子=pgsql 拡張子=apcu zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so [xデバッグ] xdebug.var_display_max_children=10240 xdebug.var_display_max_data=20480 xdebug.var_display_max_depth=50 起動する sudo systemctl php-fpm を有効にする sudo chown -R mysql:mysql /usr/local/mariadb sudo chown -R nginx:nginx /usr/local/nginx sudo chown -R php:php /usr/local/php リブート Ubuntu 20.04 で LNMP 環境を構築する手順については以上です。Ubuntu 20.04 で LNMP を構築する手順の詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL サーバーの接続、切断、および cmd 操作
>>: ノードにおけるhttpモジュールの使用と実行プロセス
目次1. MySQLデータのバックアップ1.1、データをバックアップするためのmysqldumpコマ...
序文フロントエンドプログラミングでは、奇数、偶数などの数値を受け入れることができる nth-chil...
新年の初めに、友人の健康と2013年が素晴らしい年となることを心からお祈りいたします。この記事では、...
MySQL はディスクに保存される永続的なストレージであり、取得には一定の IO が伴うことはご存じ...
mha4mysql をインストールする場合の手順は、おおよそ次のようになります: unzip、per...
需要背景チームには統合テストが必要であり、そのためには、mysql や rabbitmq などのミド...
1. パスワードを変更する1. 一般ユーザーのパスワードを変更する パスワード現在のパスワードを入力...
CentOS7をダウンロード私がダウンロードしたイメージはCentOS-7-x86_64-DVD-1...
世界最高のビジュアル デザイン スキルを持っていたとしても、訪問者がページ間やアイテム間を快適に移...
<meta http-equiv="X-UA-compatible" co...
gzip は、Linux システムでファイルの圧縮と解凍によく使用されるコマンドです。このコマンドで...
この記事では、MySQL 5.7.21のインストールに関する注意事項をまとめ、皆さんと共有します。 ...
mysql の IN はインデックスを無効にしますか?しませんよ! 結果をご覧ください: mysq...
MySQL をインストールした後、DOS ウィンドウまたは MySQL 5.7 コマンドライン クラ...
目次1. JS オブジェクトDOM –1、機能–2、テスト3. jQuery –1. 概要–2、使用...