Centos7.4はLNMPをインストールします

1、 CentOS7.4ソースコードに基づいてlnmpをコンパイルしてインストールします

**システム環境CentOS7.4 **

*最小限のシステムインストール、一部の一般的なパッケージ(vim、lirzs、gcc 、wget、bash-completion)のみがインストールされます

**nginxバージョン1.17.0 **

[**mysql **](https://cloud.tencent.com/product/cdb?from=10680)**バージョン5.7.20 **

**phpバージョン7.2.6 **

1.1 ネットワークyumソースをダウンロード

[ root @ centos7_4〜] #wget http://mirrors.aliyun.com/repo/Centos-7.repo -P / etc / yum.repos.d / #Aliのネットワークソース、epel拡張ソース、およびAliをインストールできますが、Aliのepelソースが不完全であるため、以下では、yumを直接使用してネットワークepelソースをインストールします。

[ root@centos7_4 ~]# yum -y install epel-release

[ root@centos7_4 ~]# ls /etc/yum.repos.d/

back  Centos-7.repo  CentOS-Media.repo  epel.repo epel-testing.repo

[ root@centos7_4 ~]# yum clean all;yum makecache

2 ソースコードからnginxをコンパイルしてインストールします

2.1 依存パッケージのインストール:

[ root@centos7_4 ~]# yum -y install gcc gcc-c++ autoconf automake zlibzlib-devel openssl openssl-devel pcre*

2.2 nginx実行ユーザーを作成します

[ root@centos7_4 ~]# useradd -M -s /sbin/nologin nginx

pcreパッケージをダウンロード

[ root@centos7_4 ~]# wgethttps://jaist.dl.sourceforge.net/project/pcre/pcre/8.42/pcre-8.42.zip

[ root@centos7_4 ~]# unzip pcre-8.42.zip -d /usr/local/src/

2.3 nginxソースパッケージをダウンロードして解凍します

[ root@centos7_4 ~]# wget http://nginx.org/download/nginx-1.17.0.tar.gz

[ root@centos7_4 ~]# tar zxf nginx-1.17.0.tar.gz -C /usr/local/src/

[ root@centos7_4 ~]# cd /usr/local/src/nginx-1.17.0/

[ root @ centos7_4 nginx-1.17.0]#。/ configure --prefix = / usr / local / nginx \ #installation path

2.4 コンパイルしてインストール

[ root@centos7_4 nginx-1.17.0]# echo $?

0

[ root@centos7_4 nginx-1.17.0]# make

[ root@centos7_4 nginx-1.17.0]# echo $?

0

[ root@centos7_4 nginx-1.17.0]# make install

[ root@centos7_4 nginx-1.17.0]# echo $?

0

2.5 構成ファイルの変更

[ root@centos7_4 nginx-1.17.0]# vim /usr/local/nginx/conf/nginx.conf

user nginx nginx;#ユーザーとグループを変更する

location ~ .php$ {

root           html;

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param SCRIPT_FILENAME / usr / local / nginx / html $ fastcgi_script_name;#パスの変更

include        fastcgi_params;

}

2.6 nginxサービスを最適化するための環境変数の追加

[ root @ centos7_4〜]#/ usr / local / nginx / sbin / nginx-t#nginx構文が正しいかどうかを確認します

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax isok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test issuccessful

[ root @ centos7_4〜]#/ usr / local / nginx / sbin / nginx#インストールされた起動パス

[ root @ centos7_4〜] #vim / etc / profile#環境変数を追加

export PATH=$PATH:/usr/local/nginx/sbin

[ root@centos7_4 ~]# source /etc/profile

[ root@centos7_4 ~]# nginx

[ root@centos7_4 ~]# netstat -antup|grep nginx

tcp    0    00.0.0.0:80       0.0.0.0:*      LISTEN      7417/nginx: master

[ root @ centos7_4〜] #vim / etc / init.d / nginx#構成起動スクリプト

#! /bin/bash

chkconfig: 2345 99 20

description: nginx-server

nginx=/usr/local/nginx/sbin/nginx

case $1 in

start)

netstat -anptu | grep nginx

if [ $? -eq 0 ]

then

echo "nginx service is already running"

else

echo "nginx Service started successfully "

$nginx

fi

;;

stop)

$nginx -s stop

if [ $? -eq 0 ]

then

echo "nginx service closed successfully"

else

echo "nginx server stop fail,try again"

fi

;;

status)

netstat -anlpt | grep nginx

if [ $? -eq 0 ]

then

echo "nginx server is running"

else

echo "nginx service not started "

fi

;;

restart)

$nginx -s reload

if [ $? -eq 0 ]

then

echo "nginx service restart successfully "

else

echo "nginx server restart failed"

fi

;;

*)

echo "please enter {start restart status stop}"

;;

esac

[ root@centos7_4 ~]# chmod +x /etc/init.d/nginx

[ root@centos7_4 ~]# chkconfig --add nginx

[ root@centos7_4 ~]# chkconfig nginx on

デーモンとして起動するようにnginxを構成します

[ root@centos7_4 ~]# vim /lib/systemd/system/nginxd.service

[ Unit]
Description=The Nginx HTTP Server
After=network.target remote-fs.target nss-lookup.target

[ Service]
Type=forking
EnvironmentFile=/usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
KillSignal=SIGCONT
PrivateTmp=true

[ Install]
WantedBy=multi-user.target

[ root@centos7_4 ~]# systemctl daemon-reload

[ root@centos7_4 ~]# systemctl restart nginxd.service

[ root@centos7_4 ~]# systemctl enabled nginxd.service

3 ソースコードからMySQLをインストールする

3.1 システムに付属のmariadbをアンインストールします*

[ root@centos7_4 ~]# yum -y remove mariadb* boost-*

3.2 依存関係をインストールする

[ root@centos7_4 ~]# yum install -y cmake make gcc gcc-c++ bison ncursesncurses-devel

3.3 ソースパッケージをダウンロード

[ root@centos7_4 ~]# wgethttps://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.20.tar.gz

3.4 ソースパッケージを解凍します

[ root@centos7_4 ~]# tar zxf mysql-boost-5.7.20.tar.gz -C /usr/local/src/

3.5 コンパイルとインストールを構成する

[ root@centos7_4 ~]# cd /usr/local/src/mysql-5.7.20/

[ root@centos7_4 mysql-5.7.20]# cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

コンパイルしてインストール

[ root@centos7_4 mysql-5.7.20]# make

[ root@centos7_4 mysql-5.7.20]# make install

3.6 データベースユーザーとデータディレクトリを作成します

[ root@centos7_4 ~]# useradd -M -s /sbin/nologin -r mysql

[ root @ centos7_4〜] #mkdir -p / usr / local / mysql / data#データストレージディレクトリを作成します

[ root @ centos7_4〜] #chown -R mysql.mysql / usr / local / mysql /#所有者配列をMySQLに変更します

3.7 my.cnfファイルを構成します

[ root @ centos7_4〜] #vim / etc / my.cnf#以下は簡単な設定です

[ mysqld]

basedir = / usr / local / mysql#mysqlパス

datadir = / usr / local / mysql / data#データストレージパス

port = 3306 #Port

socket = /usr/local/mysql/mysql.sock#mysqlsocketが配置されているパス

symbolic-links=0

character-set-server = utf8 #coding

pid-file = / usr / local / mysql / mysqld.pid #pathpidが配置されている場所

log-error = / var / log / mysqld.log#ログが配置されているパス

3.8 MySQL起動スクリプトを構成する

[ root @ centos7_4 mysql] #cp /usr/local/mysql/support-files/mysql.server/etc/init.d/mysqld#起動スクリプトを/etc/init.dにコピーします

[ root @ centos24 mysql-5.7.20] #ll /etc/init.d/mysqld#デフォルトで実行権限があります

[ root @ centos7_4 mysql] #chkconfig --addmysqld#ブートエントリに追加

[ root @ centos7_4 mysql] #chkconfig mysqldon#最初からブートを追加

[ root @ centos7_4 mysql] #vim / etc / init.d / mysqld#パスを変更します

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

[ root @ centos7_4 mysql] #vim / etc / profile#環境変数を構成する

export PATH=$PATH:/usr/local/mysql/bin

[ root @ centos7_4 mysql] #source / etc / profile#Load変数はすぐに有効になります

MySQL起動スクリプトを構成します。これと上記の2つのオプションは次のようになります。

[ root@centos7_4 system]# vim mysqld.service

[ Unit]

Description=MySQL DBMS

[ Service]

LimitNOFILE=10000

Type=simple

User=mysql

Group=mysql

PIDFile=/usr/local/mysql/mysqld.pid

ExecStart=/usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data

ExecStop=/bin/kill -9 $MAINPID

[ Install]

WantedBy=multi-user.target

[ root @ centos7_4 system] #chmod + xmysqld.service#実行権限を追加

[ root @ centos7_4 system] #systemctl enable mysqld.service #Set boot up

3.9 データベースを安全に初期化

[ root@localhost init.d]# touch /var/log/mysqld.log

[ root@localhost log]# chown mysql:mysql mysqld.log

[ root @ centos7_4〜]#/ usr / local / mysql / bin / mysqld --initialize-insecure--user = mysql --basedir = / usr / local / mysql--datadir = / usr / local / mysql / data #This初期化後、データベースにはパスワードがありません

初期化後に一時パスワードを割り当てる場合は、-initialize-insecureの赤い部分を削除できます。初期化後に、一時パスワードを割り当てることができます。

[ root @ centos7_4〜]#/ etc / init.d / mysqldstart#データベースを起動します

Starting MySQL. SUCCESS!

[ root @ centos7_4〜]#mysql-uroot#データベースにログインして、rootユーザーのパスワードを変更します

mysql> alter user 'root'@'localhost' identified by '123456';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

4 ソースコードからPHPをコンパイルしてインストールします

4.1 依存関係をインストールする

[ root@centos7_4 ~]# yum -y install php-mcrypt libmcryptlibmcrypt-devel  autoconf  freetype gd libmcrypt libpng libpng-devellibjpeg libxml2 libxml2-devel zlib curl curl-devel re2c net-snmp-devellibjpeg-devel php-ldap openldap-devel openldap-servers openldap-clientsfreetype-devel gmp-devel

4.2 PHPソースパッケージをダウンロード

[ root@centos7_4 ~]#  wgethttp://mirrors.sohu.com/php/php-7.2.6.tar.bz2

4.3 圧縮されたパッケージを解凍します

[ root@centos7_4 ~]# tar zxf php-7.2.6.tar.gz2 -C /usr/local/src/

[ root@centos7_4 ~]# cd /usr/local/src/php-7.2.6/

4.4 構成ファイルを生成する

[ root @ centos7_4 php-7.2.6]#。/ configure --prefix = / usr / local / php \ #installation path

configure:エラー:/ usr / libにldapライブラリが見つかりません。#Solution

[ root @ centos7_4 php-7.2.6] #cp -frp / usr / lib64 / libldap * / usr / lib /#再構成

4.5 コンパイルしてインストール

[ root@centos7_4 php-7.2.6]# make

/usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol'ber_strdup'

/usr/lib64/liblber-2.4.so.2: error adding symbols: DSO missing fromcommand line

collect2: error: ld returned 1 exit status

make: *** [sapi/cli/php] Error 1

[ root @ centos7_4 php-7.2.6] #vim Makefile #EXTRA_LIBSで始まる行の最後に「-llber」を追加します

EXTRA_LIBS = -lcrypt -lz -lresolv -lcrypt -lrt -lldap -lgmp -lpng -lz-ljpeg -lz -lrt -lm -ldl -lnsl -lpthread -lxml2 -lz -lm -ldl -lssl -lcrypto-lcurl -lxml2 -lz -lm -ldl -lssl -lcrypto -lfreetype -lxml2 -lz -lm -ldl-lnetsnmp -lssl -lssl -lcrypto -lm -lxml2 -lz -lm -ldl -lcrypt -lxml2 -lz -lm -ldl-lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lssl -lcrypto-lcrypt -llber

[ root@centos7_4 php-7.2.6]# make

[ root@centos7_4 php-7.2.6]# echo $?

0

[ root@centos7_4 php-7.2.6]# make install

[ root@centos7_4 php-7.2.6]# echo $?

0

4.6 php構成ファイルを構成します

php構成ファイルの場所を移動し、名前を変更します

[ root@centos7_4 php-7.2.6]# cp/usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.conf

php.iniファイルをコピーします

[ root@centos7_4 php-7.2.6]# cp /usr/local/src/php-7.2.6/php.ini-production/usr/local/php/etc/php.ini

**4.7 php起動スクリプトを/etc/init.d/**にコピーします

[ root@centos7_4 php-7.2.6]# cp/usr/local/src/php-7.2.6/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

実行権限を追加し、起動項目に追加して、カードを起動するように設定します

[ root@centos7_4 php-7.2.6]# chmod +x /etc/init.d/php-fpm

[ root@centos7_4 php-7.2.6]# chkconfig --add php-fpm

[ root@centos7_4 php-7.2.6]# chkconfig php-fpm on

php-fpmを起動します

[ root@centos7_4 ~]# /etc/init.d/php-fpm start

Starting php-fpm  done

[ root@centos7_4 ~]# vim /usr/local/nginx/conf/nginx.conf

43          location / {

44             root   html;

45             index  index.php index.html index.htm;

46          }

[ root @ centos7_4〜] #service nginx restart #Restart nginx service

php検出ファイルを書く

[ root@centos7_4 ~]# vim /usr/local/nginx/html/index.php

[ root@centos7_4 ~]# netstat -antup|grep php-fpm

tcp    0    0127.0.0.1:9000     0.0.0.0:*      LISTEN   128974/php-fpm: mas

ブラウザでテスト

Recommended Posts

Centos7.4はLNMPをインストールします
Centos7にJavaをインストールする
Nodejsはcentos7にインストールされます
CentOS8にFFmpegをインストールします
CentOS7にRabbitMQをインストールします
CentosにNode.jsをインストールします
Mavenはcentos7にインストールします
CentOS7にMongoDBをインストールします
CentOS8にSurelogをインストールする
centos7へのOpenjdkのインストール
Jenkinsをcentos7にインストールします
セントスにRabbitMQをインストールする
CentOS7にRabbitMQをインストールします
centos6.5にDockerをインストールします
セントスにオラクルをインストールする
Centos7にElasticsearch6をインストールします
CentOS7にRabbitMQをインストールします
mysqlをcentosにオンラインでインストールする
CentOS7にElasticSearch7.xをインストールします
LinuxCentosにMySQL8.0.16をインストールします
Centos7にdockertransferをインストールします
Centosシステムにdockerをインストールします
セントスにEPELリポジトリをインストールする
1.5Centos7をインストールする
CentOS7に基づくZabbix3.4をインストールします
centosサーバーにvirtualboxをインストールする
CentOS7にNginxサーバーをインストールします
centOS7にjdk1.8をインストールする方法
CentOS8にMySQLをインストールする方法
CentOS7にrpmでJDK8をインストールします
CentOS8にMemcachedをインストールする方法
CentOS7にMATEまたはXFCEをインストールします
CentOS8にRをインストールする方法
CentOS8にFFmpegをインストールする方法
CentOS8にVirtualboxをインストールする方法
CentOS8にTensorFlowをインストールする方法
CentOS8にTeamViewerをインストールする方法
CentOSにPerl5をインストールする方法
CentOS8にGitをインストールする方法
CentOS8にGradleをインストールする方法
CentOS8にElasticsearchをインストールする方法
CentOS8にJenkinsをインストールする方法
CentOS8にJavaをインストールする方法
CentOS8にGoをインストールする方法
CentOS8にGCCをインストールする方法
CentOS8にYarnをインストールする方法
CentOS8にNginxをインストールする方法
CentOS7にAsteriskをインストールする方法
CentOS8にJenkinsをインストールする方法
Linux CentOS7(Windows)にMySQLをインストールする
CentOS8にVagrantをインストールする方法
CentOS8にPython3.8をインストールする方法
CentOS8にTomcat9をインストールする方法
CentOS8にWebminをインストールする方法
CentOS8にRubyをインストールする方法
CentOS8にSkypeをインストールする方法
CentOS8にhtopをインストールする方法
CentOSLinuxにOracleデータベースをインストールします
CentOS8にPythonをインストールする方法
CentOS8にElasticsearchをインストールする方法
CentOS8にPostgresqlをインストールする方法