Heim  >  Artikel  >  Backend-Entwicklung  >  Der Prozess der Erstellung einer LNMP-Umgebung mithilfe des Quellcodes (Details)

Der Prozess der Erstellung einer LNMP-Umgebung mithilfe des Quellcodes (Details)

不言
不言Original
2018-08-09 10:39:042471Durchsuche

In diesem Artikel geht es um den Prozess der LNMP-Aufzeichnung der Umgebungskonstruktion in Form von Quellcode (Details). Ich hoffe, dass er für Freunde in Not hilfreich ist Du.

LNMP bezieht sich auf die Umgebung zum Erstellen einer Website mit PHP+MYSQL+NGIX unter Linux.

Nginx ist ein leistungsstarker HTTP- und Reverse-Proxy-Server sowie ein IMAP/POP3/SMTP-Proxy-Server. Nginx kann nicht nur als Webserver, sondern auch als Load Balancer verwendet werden.

MySQL ist eine Open-Source- und kostenlose Datensoftware. Es ist klein, schnell und weist niedrige Gesamtbetriebskosten auf , viele kleine und mittlere Websites Um die Gesamtkosten des Website-Besitzes zu senken, wurde MySQL als Website-Datenbank ausgewählt.

PHP ist die Abkürzung für die englische Hypertext-Vorverarbeitungssprache Hypertext Preprocessor. PHP ist eine eingebettete HTML-Sprache, die auf der Serverseite ausgeführt und in HTML-Dokumente eingebettet wird. Der Stil ähnelt daher der C-Sprache und wird häufig in der Konstruktion verwendet Webseite.

Das Folgende ist eine Aufzeichnung des Einrichtungsprozesses der LNMP-Umgebung. Die Linux-Umgebung des Subjekts ist ein virtuelles CentOs-Image.

【Nginx-Installation】

Die neueste stabile Version von Nginx ist 1.14.0, die URL ist http://nginx.org/en/download.html, Sie können sie direkt herunterladen Windows rz wird auf Linux hochgeladen oder kann direkt mit wget heruntergeladen werden. Die unten aufgeführte Download-Methode ist die letztere.

cd /usr/src          #一般将源码放在此目录下
wget http://nginx.org/download/nginx-1.14.0.tar.gz  #安装

Hinweis: Die Installation von Nginx hängt von den zlib-devel pcre-devel openssl-devel-Paketen ab, daher müssen wir diese Pakete vor der Installation von nginx installieren, um Fehler zu vermeiden während des Installationsvorgangs.

yum -y install zlib-devel pcre-devel openssl-devel

.....

Die allgemeine Installation des Quellcodes ist in 4 Schritte unterteilt, 解压(tar-Befehl)预编译(configure unter dem Quellpaket ausführen),编译(make),编译安装(make install).

1. Entpacken

tar -zxvf nginx-1.14.0.tar.gz   #这里解释下加压参数,z代表gzip(也就是后面的.gz文件)x代表加压,v表示显示详细信息,-f使用档案文件或设备(必选参数)


2. Vorkompilieren

Wenn wir vorkompilieren, bringen wir normalerweise einige Parameter mit Effekt, den wir installieren möchten, z. B. das Aktivieren einer bestimmten Funktion oder das Deaktivieren einer bestimmten Funktion:

Geben Sie das Quellpaketverzeichnis für die Vorkompilierung ein:

cd nginx-1.14.0
 ./configure --prefix=/data/webserver/nginx\   # 指定安装目录为/usr/local/nginx
--with-openssl=/usr/include/openssl\  # 启用ssl
--with-pcre\                          # 启用正规表达式
--with-http_stub_status_module        # 安装可以查看nginx状态的程序

….. 

3. Kompilieren

./configure bezieht sich auf die Ausführung der configure-Datei im aktuellen Verzeichnis. Nach Abschluss der Vorkompilierung können wir sie kompilieren und installieren :

make   #编译

....

4. Installation

make install #安装

..... 🎜>

Dann können Sie Nginx starten:

ls /data/webserver/nginx


#Wie Sie aus dem sehen können Bild, Nginx wurde gestartet

/data/webserver/nginx/sbin/nginx   #启动nginx

/data/webserver/nginx/sbin/nginx -s stop #停止nginx

/data/webserver/nginx/sbin/nginx -s relaod #重启nginx

[MySQL-Installation]

Zu diesem Zeitpunkt wurde Nginx installiert und gestartet. Dann installieren wir MySQL . Ebenso müssen wir zuerst noch MySQL-Abhängigkeitspakete installieren:

netstat -antlp ¦ grep 80  #nginx占用TCP的80端口由图也可知nginx已启动

....

Dann laden wir den Quellcode herunter:

yum -y install wget  cmake gcc gcc-c++ ncurses  ncurses-devel  libaio-devel  openssl openssl-devel

...... .

MySQL-Benutzer erstellen:

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.11.tar.gz
Installationsverzeichnis und Datenverzeichnis erstellen:

 groupadd mysql
 useradd -r -g mysql -s /bin/false mysql

Entpacken Sie das Quellcode-Paket:

 tar -zxf mysql-boost-8.0.11.tar.gz -C /usr/local

编译&安装:

cd /usr/local/mysql-8.0.11
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
-DMYSQL_DATADIR=/usr/local/mysql/data 
-DSYSCONFDIR=/etc 
-DMYSQL_TCP_PORT=3306 
-DWITH_BOOST=/usr/local/mysql-8.0.11/boost 
make  && make install

安装成功后我们可启动mysql:

cd /usr/local/mysql
bin/mysqld_safe --user=mysql

启动成功,连接mysql

bin/mysql -uroot -p

此时要求输入连接密码,比较旧的版本的mysql安装时默认密码为空,但该5.7之后的版本有默认的密码,由于我们不知道,因此关闭mysql服务后(可直接查询进程根据进程号kill掉或/etc/init.d/mysql stop ),改用跳过密码的方式重新开启mysql服务。

bin/mysqld_safe --user=mysql & skip-grant-tables

重新连接

bin/mysql -uroot

连接成功后修改密码

mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;

此时重启mysql服务,便可以账号密码方式连接mysql。

【PHP安装】

先安装php依赖包,否则在编译安装php7的过程当中会出现各种报错,安装完成后即可进入下一个环节。

安装扩展包并更新系统内核:

yum install epel-release -y
yum update

安装php依赖组件(包含Nginx依赖),前面nginx以及mysql安装过的可以忽略,也可以直接复制运行,会跳过已安装的依赖:

yum -y install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel 
libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel 
ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel 
cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash 
libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel


........

创建用户和组,并下载php安装包解压:

cd /tmp
groupadd www
useradd -g www www
wget http://cn2.php.net/distributions/php-7.2.0.tar.gz
tar xvf php-7.2.1.tar.gz
cd php-7.2.0

设置变量并开始源码编译:

cp -frp /usr/lib64/libldap* /usr/lib/
./configure --prefix=/data/webserver/php \
--with-config-file-path=/data/webserver/php/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-mysqlnd-compression-support \
--with-iconv-dir \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-mbstring \
--enable-intl \
--with-mcrypt \
--with-libmbfl \
--enable-ftp \
--with-gd \
--enable-gd-jis-conv \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--with-gettext \
--disable-fileinfo \
--enable-opcache \
--with-pear \
--enable-maintainer-zts \
--with-ldap=shared \
--without-gdbm \

开始安装

make -j 4 && make install

完成安装后配置php.ini文件:

cp php.ini-development /data/webserver/php/etc/php.ini
cp /data/webserver/php/etc/php-fpm.conf.default /data/webserver/php/etc/php-fpm.conf
cp /data/webserver/php/etc/php-fpm.d/www.conf.default /data/webserver/php/etc/php-fpm.d/www.conf

修改 php.ini 相关参数:

vim /data/webserver/php/etc/php.ini

expose_php = Off
short_open_tag = ON
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 32M
date.timezone = Asia/Shanghai
mbstring.func_overload=2

重启PHP,至此LNMP环境已搭建完成。

相关文章推荐:

Nginx配置fastcgi cache的方法介绍

docker安装php环境的实际操作步骤

Das obige ist der detaillierte Inhalt vonDer Prozess der Erstellung einer LNMP-Umgebung mithilfe des Quellcodes (Details). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn