簡単な説明 以前 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モジュールの使用と実行プロセス
この記事では、JavaScriptでカルーセルを実装するための具体的なコードを参考までに紹介します。...
オペレーティング システム win10 MySQL は、公式 Web サイトからダウンロードした 6...
シナリオ 1:半透明の境界線を実現するには: CSS スタイルのデフォルトの動作により、背景色はコン...
1. コマンドの紹介chkconfig コマンドは、システム サービスの実行レベル情報を更新および照...
transform: scale(); スケーリングするとIEブラウザでジッターが発生します変換スケ...
日常業務でファイルをダウンロードする一般的な方法は 2 つあります。 1 つ目は、サーバーのファイル...
本日のプロジェクト最適化中に、MySQL に問題が発生しました: 定義者として指定されたユーザー (...
原則: まず入力要素を非表示にし、次に CSS を使用してラベル要素のスタイルを設定します (他の要...
この記事では、DIYポストカード機能を実現するためのfabricjsの具体的なコードを参考までに共有...
文字列関数文字ascii(str)のASCIIコード値をチェックし、strが空の文字列の場合は0を返...
インデックスを追加すると、クエリの効率が向上します。インデックスを追加するということは、ドキュメント...
設定手順Linux システム: CentOS-7.0 MySQL バージョン: 5.7.21 Lin...
アルファベット順DTD: このタグが許可される XHTML 1.0 DTD を示します。 S=厳密、...
目次使用シナリオ解決1. globalDataを使用して実装する2. ローカルキャッシュストレージを...
エラー: Connection to blog0@localhost failed. [08001]...