centos7 LNMPソースコンパイラのインストール

  • このノートは、ソースコンパイラのインストールnginx1.14、php7.2プロセスとmysql5.7、および使用によってCentOS7.6に道を記録systemctlの管理サービス、mysql5.7は、バイナリパッケージの公式ウェブサイトを使用しますが、よりませんでしたソースはmysql5.7のビルド環境はメモリの少なくとも1Gを必要とし、非常にゆっくりと、私は成功した1Gメモリをコンパイルすることは非常に困難見つけたことを思い出したことが、自分自身をコンパイルするために始めた、それはより多くの1G以上推奨しました
nginxのインストール1.
インストールが依存します
GCCのgcc-C ++のwgetはautomake autoconfのlibtoolののlibxml2-develのlibxsltは-develのperlの-develのperlの-のExtUtils-埋め込みPCRE-develのopensslのopensslの-develのインストールyumを-y
nginxのを実行するためにユーザーを作成すると、ログインできません
groupaddのWWW-データのuseradd -s / sbinに/ nologinに-g WWW-データWWW-データ
一時ファイルや実行時のフォルダ、ダウンロードnginxのソースを保存するためにソースディレクトリを作成し、現在の安定版はnginxの-1.14.2です
ます。mkdir -pの/ var /キャッシュ/ nginxのます。mkdir -pは/ usr / local / srcに/ nginxのCDは/ usr / local / srcに/ nginxのはwget -c http://nginx.org/download/nginx-1.14.2.tarを。 GZ
減圧
タール-zxvf nginxの-1.14.2.tar.gzでcd /usr/local/src/nginx/nginx-1.14.2
構成チェックの前にコンパイルされました
./configure \ --prefix =は/ usr / local / nginxの\ --sbinパス=は/ usr / local / nginxの/ sbinに/ nginxの\ --confパス=は/ usr / local / nginxの/ CONF / nginx.conf \ --error-ログパス=は/ var / log / nginxの/ error.logファイル\ --http-ログパス=は/ var / log / nginxの/ access.logを\ --pid-パス=の/ var /実行/ nginx.pid \ --lock-パス=の/ var / / nginxの実行。ロック\ --http-クライアント・ボディTEMPパス=の/ var /キャッシュ/ nginxの/ client_temp \ --http-プロキシTEMPパス=の/ var /キャッシュ/ nginxの/ proxy_temp \ --http-のfastcgi-temp-パス=の/ var /キャッシュ/ nginxの/ fastcgi_temp \ --http-uwsgi-TEMPパス=の/ var /キャッシュ/ nginxの/ uwsgi_temp \ --http-SCGI-TEMPパス=の/ var /キャッシュ/ nginxの/ scgi_temp \ - -user = WWWデータ\ --group = WWWデータ\ --with-PCRE \ --with-http_v2_module \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_sub_module \ --with-http_dav_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_random_index_module \ --with-http_secure_link_module \ --with-http_stub_status_module \ - -with-http_auth_request_module --with-mail_ssl_module \ --with-FILE-AIO \ --with-http_v2_module \ --with-スレッド\ --with-ストリーム\ --with-メール\ \--with-stream_ssl_module
設定のチェックが完了すると、私たちは、Makefileを作成しました
"は/ usr / local / nginxの" nginxのバイナリファイル:「は/ usr / local / nginxの/ sbinに/システムのzlibライブラリnginxのパス接頭辞を使用して、システムのOpenSSLライブラリ+を使用して、システムのPCREライブラリ+を使用して+スレッドを使用してOBJS / Makefileの構成のサマリー+を作成しますnginxの」nginxのモジュールパス: "は/ usr / local / nginxの/モジュール" nginxの設定接頭辞: "は/ usr / local / nginxの/ confに" nginxの設定ファイル: "/usr/local/nginx/conf/nginx.conf" nginxのPIDファイル: "/var/run/nginx.pid" nginxのエラーログファイル: "/var/log/nginx/error.log" nginxのHTTPアクセスログファイル: "/var/log/nginx/access.log" nginxのHTTPクライアントリクエストボディの一時ファイル: "は/ var /キャッシュ/ nginxの/ client_temp" nginxのHTTPプロキシの一時ファイル: "は/ var /キャッシュ/ nginxの/ proxy_temp" nginxのHTTP FastCGIの一時ファイル: "は/ var /キャッシュ/ nginxの/ fastcgi_temp"nginxのHTTP uwsgi一時ファイル: "は/ var /キャッシュ/ nginxの/ uwsgi_temp" nginxのHTTP SCGI一時ファイル: "は/ var /キャッシュ/ nginxの/ scgi_temp"
コンパイル、インストール
make installを作ります
設定を変更
vimの/usr/local/nginx/conf/nginx.confユーザーWWW-データ; pidは/var/run/nginx.pid。
スタートnginxの
/ usr / local / nginxの/ sbinに/ nginxの
プロセスを見ます
psの補助| grepをnginxの
プロセスを強制終了
pkillは-9 nginxの
コンフィギュレーションサービス
vimの/usr/lib/systemd/system/nginx.service
入力は、次の
[単位]説明= nginxの - 高性能Webサーバのドキュメント=のhttp:= network-online.target remote-fs.target nss-lookup.targetウォンツ= network-online.target後//nginx.org/en/docs/ [サービス]タイプ=フォークPIDFILE =の/ var /実行/ nginx.pid ExecStart =は/ usr / local / nginxの/ sbinに/ nginxの-c /usr/local/nginx/conf/nginx.conf ExecReload = / binに/殺す-s HUP $ MAINPID ExecStop = / binに/キル-s TERM $ MAINPID ExecStartPost = / binに/睡眠0.1 [インストール] WantedBy = multi-user.target
#注:あなたはシングルコアサーバがある場合は、必要がExecStartPost = / binに/睡眠0.1を追加します
そうでない場合は#とき実行がsystemctlステータスnginxのを実行し、nginxの起動systemctl後
#会出现にsystemd [1]:ファイル/var/run/nginx.pidからPIDを読み取りに失敗しました:無効な引数
#nginxのが完了開始されていないので、これは、プロセスのpidファイルのsystemctl行くであり、これは既知のバグです
リロードにsystemd
systemctlデーモンリロード
オープンブーツ
/etc/systemd/system/multi-user.target.wants/nginx.serviceから/usr/lib/systemd/system/nginx.serviceにnginx.service作成されたシンボリックリンクを有効にsystemctl。
スタートとビューのステータスnginxの
nginxのsystemctl状態のnginx●nginx.service開始systemctl - nginxの - 高パフォーマンスのWebサーバがロード:ロード(/usr/lib/systemd/system/nginx.service;有効;ベンダープリセット:無効)アクティブ:アクティブ(ランニング)五2019年以来-01-04夜6時24分18秒CST。ドキュメント前9分:http://nginx.org/en/docs/プロセス:75573 ExecStop = / binに/キル-s TERM $ MAINPID(コード=終了し、ステータス= 0 / SUCCESS)プロセス:75576​​ ExecStart =は/ usr / local / nginxの/ sbinに/ nginxの-c /usr/local/nginx/conf/nginx.conf(コード=終了し、ステータス= 0 / SUCCESS)主PID:75577(nginxの)のcgroup:/system.slice/nginx.service├─ 75577 nginxの:マスター・プロセスは/ usr / local / nginxの/ sbinに/ nginxの-c /usr/local/nginx/conf/nginx.conf└─75578nginxの:ワーカープロセス1月04夜06時24分18秒jmsiteos7にsystemd [1]:停止nginxの - 高性能ウェブサーバ... 1月04夜06時24分18秒jmsiteos7にsystemd [1]:停止nginxの - 高パフォーマンスのWebサーバ。1月04夜6時24分:
インストール2. MySQLを
注:MySQLのバージョン5.5、コンパイル構成はcmakeのツールに置き換え、./configureをによってキャンセルされました。したがって、我々は最初のシステムでソースコンパイラツールCMakeのインストールする必要があります。
インストールが依存します
yumを-y cmakeのはgcc-C ++バイソンバイソン-のdevelのncurses-develのperlの-DATA-Dumperのブーストブースト-docのブースト-develのインストール
ユーザーとユーザーグループを作成してMySQLの
groupaddのmysqlのは、useradd -g mysqlのmysqlの
ソース格納ディレクトリ、ダウンロード、解凍を作成します。
ます。mkdir -pは/ usr / local / srcに/ MySQLのCDは/ usr / local / srcに/ mysqlのwgetの-c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.20.tar .gzをタール-zxvfのmysql-ブースト-5.7.20.tar.gzでcd mysqlの-5.7.20
適切なディレクトリと承認を作成します。
ます。mkdir -pは/ usr / local / mysqlの/データのchown -R mysqlの:mysqlのは/ usr / local / mysqlの/タッチ/var/log/mysql.logのchown -R mysqlの:mysqlの/var/log/mysql.logます。mkdir -p / var / libに/ mysqlのはchown -R mysqlの:mysqlのは/ var / libに/ mysqlのます。mkdir -pの/ var /実行/ mysqldをchownコマンド-R mysqlの:mysqlのは/ var /実行/ mysqldを
構成チェック
cmakeの\ -DCMAKE_INSTALL_PREFIX =は/ usr / local / MySQLの\ -DMYSQL_DATADIR =は/ usr / local / MySQLの/データ\ -DSYSCONFDIR = / ETC \ -DMYSQL_USER = MySQLの\ -DWITH_ARCHIVE_STORAGE_ENGINE = 1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE = 1 \ -DWITH_READLINE = 1 \ -DMYSQL_UNIX_ADDR =の/ var / libに/ mysqlの/にmysql.sock \ -DMYSQL_TCP_PORT = 3306 \ -DENABLED_LOCAL_INFILE = 1 \ -DEXTRA_CHARSETS =すべて\ -DDEFAULT_CHARSET = UTF8 \ -DDEFAULT_COLLATION = utf8_unicode_ci内\ -DWITH_DEBUG = 0 \ -DMYSQL_MAINTAINER_MODE = 0 \ - DWITH_SYSTEMD = 1 \ -DWITH_BOOST =ブースト\ -DWITH_SSL:STRING =バンドル\ -DWITH_ZLIB:バンドルSTRING =
コンパイル、インストール
make installを作ります
設定MySQLを変更します。
VIMな/etc/my.cnf
次の設定
[mysqlの]デフォルトの文字セット= UTF8ソケット=の/ var / libに/ mysqlの/にmysql.sock [mysqldを]のinit-接続= 'SET NAMES UTF8の' 文字セットサーバ= UTF8 BASEDIR =は/ usr / local / mysqlのDATADIR =は/ usr / local / mysqlの/データソケット=の/ var / libに/ mysqlの/にmysql.sockのユーザ= mysqlのexplicit_defaults_for_timestamp =真のバインドアドレス= 0.0.0.0サーバID = 1 LOG_ERROR =は/ var / log / mysql.log#各種セキュリティを防ぐために推奨されるシンボリックリンクを無効にするにsystemdが使用されている場合、シンボリックリンク= 0#設定ユーザとグループが無視される恐れがあります。あなたが別のユーザーまたはグループの下でmysqldを実行する必要がある場合は#、#はhttp://fedoraproject.org/wiki/Systemd [mysqld_safeを]ログインエラー=の/ var /ログに#の指示に従ってmariadbのためにあなたにsystemdユニットファイルをカスタマイズ/mariadb/mariadb.log PIDファイル=の/ var /実行/ mariadb / mariadb.pid
環境変数を追加します
vimのは/ etc / profile
尾の次の2行を追加します。
PATH = $ PATH:は/ usr / local / mysqlの/ binに/エクスポートパス
すぐに有効にするソース環境変数の実装
ソースは/ etc / profile
データベースのインストールキーを初期化します
mysqld --defaultsファイル=の/ etc / my.cnfの--initialize、安全でない--basedir =は/ usr / local / MySQLの--datadir =は/ usr / local / MySQLの/データ--user = MySQLのmysql_ssl_rsa_setup
#-initialize-安全でないが、ランダムなパスワードを生成しません。
#-initializeランダムなパスワードを生成します
セットのブーツ
CP /usr/local/mysql/usr/lib/systemd/system/mysqld.serviceは/ usr / libに/にsystemd /システム
リロードにsystemd
systemctlデーモンリロード
ブート
mysqld.serviceはmysqld.serviceを開始systemctl有効systemctl [ルート@ jmsiteos7のmysql-5.7.20]#systemctl状態mysqld.service●mysqld.service - MySQLサーバロード:ロード(/usr/lib/systemd/system/mysqld.service。五2019年1月4日夜03時36分52秒CSTので、アクティブ(ランニング);:無効)アクティブ:ベンダーのプリセットを、有効 3Sドキュメント前:男性:mysqldを(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlプロセス:30737 ExecStart =は/ usr / local / mysqlの/ binに/ mysqldを--daemonize - -pidファイル=の/ var /実行/ mysqldを/ mysqld.pid $ MYSQLD_OPTS(コード=終了し、ステータス= 0 / SUCCESS)プロセス:30719 ExecStartPre =は/ usr / local / mysqlの/ binに/ mysqld_pre_systemd(コード=終了し、ステータス= 0 / SUCCESS)メインPID:30740(mysqldの)のcgroup:/system.slice/mysqld.service└─30740は/ usr / local / mysqlの/ binに/ mysqldを--daemonize --pid-ファイル=の/ var /実行/ mysqldを/ mysqld.pid 1月04午後03時36分51秒jmsiteos7のsystemdに[1]:MySQLサーバ... 1月04午前15時36分の開始:
パスワードを設定します(初期化パラメータが-initializeであれば、このステップをスキップ)
mysql_secure_installation
MySQLでログイン
[ルート@ jmsiteos7〜]#mysqlの-uroot -p mysqlの:[警告]コマンドラインインターフェイス上でパスワードを使用するには、安全でないことができます。MySQLのモニタへようこそ。コマンドは、で終わります。または\グラム。5.7.20ソース配布著作権(C)2000、2017、Oracleおよび/またはその関連会社:あなたのMySQL接続IDは4 Serverのバージョンです。全著作権所有。Oracleは、Oracle Corporationおよび/またはその関連会社の登録商標です。その他の名称はそれぞれの所有者の商標である場合があります。「助けを;」タイプ 助けのためか、「\ H」。現在の入力文をクリアするために「\ C」を入力します。MySQLの>ショーのデータベース; + -------------------- + | データベース| + -------------------- + | INFORMATION_SCHEMA | | mysqlの| | performance_schema | | SYS | + -------------------- +組の4行(0.00秒)のMySQL>ルートの設定パスワード@ローカルホスト=パスワード( 'あなたのパスワード'); MySQLの> フラッシュ権限; MySQLの>終了。バイ
インストール3. PHPを
インストールが依存します
yumのインストールのlibxml2のlibxml2-develのカール-develのopenjpeg openjpeg-develのopenjpeg-LIBSのlibjpegのlibjpeg-develののlibpngのFreeTypeのlibpng-develのFreeTypeの-develのopensslのopensslの-develの
保存するためにソースディレクトリを作成し、ダウンロード、解凍
ます。mkdir -pは/ usr / local / srcに/ php72のCDは/ usr / local / srcに/ php72のwget -c http://cn2.php.net/get/php-7.2.13.tar.gzタール-xzvfのphp-7.2 .13.tar.gzのCDのphp-7.2.13
構成チェック
./configure --prefix =は/ usr / local / php72 \ --with-config設定ファイルパス=は/ usr / local / php72の/ etc \ --with-config設定ファイルスキャン-dirを=は/ usr / local / php72の/ etc / php.d \ --with-はmhash \ --disable-デバッグ\ --disable-のrpath \ --enable-mysqlnd \ --with-mysqliの\ --with-PDO-mysqlの\ --enable- FPM \ --with-FPMユーザ= WWWデータ\ --with-FPM基= WWWデータ\ --with-GD \ --with-iconvの\ --with-ZLIB \ --enable-bcmath \ --enable-XML \ --enable-SHMOP \ --enable-SYSVSEM \ --enable-インライン最適化\ --enable-mbregex \ --enable-mbstringの\ --enable-ftpの\ --with-opensslの\ --enable-PCNTL \ --enable-ソケット\ --with-XMLRPC \ --enable-ZIP \ --enable-石鹸\ --without-梨\ --with-gettextの\ --enableセッション\ - カール\ --with-JPEG-dirの\ --with-PNG-dirの\ --with-freetypeの-dirは
コンパイル、インストール
-j4 make installを作ります
環境変数の設定
vimのは/ etc / profile
最後に次の2行のコード上のファイル
PATH = $ PATH:は/ usr / local / php72 / binに/:は/ usr / local / php72 / sbinに/エクスポートパス
すぐにそれを有効にするには
ソースは/ etc / profile
テスト
[ルート@ jmsiteos7のphp-7.2.13]#、PHP -v PHP 7.2.13(CLI)(組み込み:2019年1月4日午後05時35分17秒)(NTS)の著作権(C)1997から2018ザ・PHPグループのZend Engineのv3の。 2.0、著作権(C)1998から2018ゼンド・テクノロジーズ
セットのphp.iniやPHP-fpm.conf、www.conf
ソースディレクトリを入力します。
CD /usr/local/src/php72/php-7.2.13
サンプルの設定をコピーします。
cpはphp.iniの開発或/usr/local/php72/etc/php.ini#cpはphp.iniの生産/usr/local/php72/etc/php.ini
ディレクトリのphp.iniを入力します。
CDは/ usr / local / php72の/ etc
設定ファイルを開きます。
vimの/usr/local/php72/etc/php.ini
変更は、上記の.sockを設定するためにmysqlの設置位置をpdo_mysql.default_socket
pdo_mysql.default_socket = /var/lib/mysql/mysql.sock
設定されていない場合は、報告されますSQLSTATE [HY000] [2002] PHPのPDO経由mysqlのそのようなファイルやディレクトリを接続したとき
サンプルの設定FPMをコピーします。
CPのphp-fpm.conf.defaultのPHP-fpm.conf
PHP-fpm.dへのディレクトリ
CDの/usr/local/php72/etc/php-fpm.d
コピーwww.conf
CP www.conf.default www.conf
セットPHP-FPMブーツ
CP /usr/local/src/php72/php-7.2.13/sapi/fpm/php-fpm.serviceは/ usr / libに/にsystemd /システム/
リロードにsystemd
systemctlデーモンリロード
有効ブーツ
/etc/systemd/system/multi-user.target.wants/php-fpm.serviceから/usr/lib/systemd/system/php-fpm.serviceにPHP-FPM作成したシンボリックリンクを有効にsystemctl。
[スタート] PHP-FPM
systemctl開始PHP-FPM
ビューステータス
[ルート@ jmsiteos7のphp-fpm.d]#systemctlのステータスのphp-FPM●PHP-fpm.service - PHPのFastCGI Process Managerはロード:ロード(/usr/lib/systemd/system/php-fpm.service;有効;ベンダー)無効なActive:プリセットアクティブ(五2019年1月4日夜05時55分16秒CST以降)を実行しています。5S主なPID前:70669(PHP-FPM)のcgroup:/system.slice/php-fpm.service├─70669PHP-FPM:マスター・プロセス(/usr/local/php72/etc/php-fpm.conf)├─ 70670 PHP-FPM:プールWWW└─70671PHP-FPM:プールWWW 1月04 17時55分16秒jmsiteos7にsystemd [1]:PHP FastCGIプロセスマネージャを開始。
インストールnginxの、PHP、MySQLを確認してください4。
nginxの設定ファイルを編集
vimの/usr/local/nginx/conf/nginx.conf
ラン#変更するユーザのユーザWWWデータ;#編集サーバセグメント、デフォルトファイルはindex.phpの位置/追加される{ルートHTMLを、インデックスのindex.phpのindex.htmlのindex.htm;}#コメントブロックPHPのキャンセル及び変更/スクリプトの構成と一致{; fastcgi_pass 127.0.0.1:9000;ルートHTML fastcgi_indexのindex.php; fastcgi_param SCRIPT_FILENAME $ DOCUMENT_ROOT $ fastcgi_script_name; fastcgi_paramsが含まれる;} $ DOCUMENT_ROOTの場所〜\ phpの$へ
保存して終了して再起動nginxの
systemctl再起動nginxの
nginxのWebディレクトリの下に新しいindex.phpをデフォルト
vimの/usr/local/nginx/html/index.php
次のPHPコードを入力します。
<?PHPの$ DBMS = 'mysqlの'; //データベースタイプ$ホスト= 'localhostの'; //データベースホスト名$ DBNAME = 'mysqlの';データベース$ユーザー//使用= 'ルート'; //データベースユーザー名$パス= ''; $ DSN = "$ DBMS:; DBNAME = $ DBNAMEホスト= $ホスト";に対応する//パスワードのtry {$ DBH =新しいPDO($ DSN、$ユーザー、$パス); // PDOオブジェクトエコーを初期化する "接続が成功<BR/>ある"; foreachの($ dbh->クエリ($行として 'DBからSELECT DB')){ますprint_r($行);} $ DBH = NULL;}キャッチ(PDOException $ E){ダイス( "エラー:!"。は$ e-> getMessage()の。 "<BR/>");}?>
あなたのサイトを訪問するブラウザ
 

おすすめ

転載: www.cnblogs.com/kevinleerunqing/p/12034284.html