Это мой 25-й день в Gengwen Challenge, ознакомьтесь с подробностями мероприятия: больше текстового задания
Вечный ученик, практик и активный собеседник, приверженный пути развития технологий, оригинальный блогер, занятый и иногда ленивый, и подросток, которому иногда скучно, а иногда и смешно.
Добро пожаловать в поиск WeChat »ИТ-путешествие Джейка"обрати внимание на!
Оригинальная ссылка:Архитектура | Позвольте вам легко поиграть с архитектурной платформой веб-сайта LAMP (1)
предисловие
В предыдущей статье я рассказал, как создать службу HTTPD, систему базы данных MySQL и управление доступом к службе HTTPD в среде Linux; соответствующие статьи можно найти в рекомендуемой к прочтению серии в конце статьи, а затем в сегодняшней статье я представлятьLAMP 架构
.
1. Что такое архитектура LAMP?
Архитектура LAMP — это один из зрелых режимов приложений корпоративных веб-сайтов, набор систем и соответствующего программного обеспечения, которые могут работать вместе и могут предоставлять динамические службы веб-сайтов и среды разработки приложений.
ЛАМПА — это аббревиатура.L
:Linux操作系统
,A
:Apache网站服务器
,M
:MySQL数据库服务器
,P
:PHP、Python、Perl编程语言
;
2. Компоненты архитектурной платформы LAMP
-
Linux操作系统
: является основой архитектуры LAMP, используемой для поддержки операционной системы веб-сайта, с хорошей стабильностью и совместимостью; -
Apache网站服务器
: это интерфейс архитектуры LAMP, программа веб-сервера с мощными функциями и хорошей стабильностью, которая предоставляет пользователям доступ к веб-сайту, отправку веб-страниц, файлов, изображений и т. д .; -
MySQL数据库服务器
: это серверная часть архитектуры LAMP, система реляционных баз данных с открытым исходным кодом, данные хранятся в базе данных MySQL и могут быть запрошены с помощью операторов SQL; -
PHP、Python、Perl编程语言
: язык программирования для динамических веб-страниц, который используется для интерпретации файлов динамических веб-страниц и предоставления среды разработки и запуска веб-приложений. PHP — это широко используемый многоцелевой язык сценариев с открытым исходным кодом, который можно встраивать в HTML для разработки веб-приложений.
3. Преимущества применения платформы архитектуры LAMP
-
成本低
: Программное обеспечение с открытым исходным кодом, свободно доступное и бесплатное для использования, без слишком строгих технических и лицензионных ограничений, что значительно снижает затраты предприятий на внедрение. -
可定制
: Он имеет большое количество дополнительных компонентов и масштабируемых функций, которые удовлетворяют пользовательские потребности корпоративных приложений, развиваются, добавляются новые функции. -
易开发
: На динамическом веб-сайте на платформе LAMP код страницы лаконичен, интеграция с языком разметки HTML очень хорошая, код страницы легко читается и модифицируется. -
方便易用
: Язык программирования PHP является интерпретативным языком, и различные разработанные веб-программы не нуждаются в компиляции, что удобно для переноса и использования.Всю программу проекта веб-сайта можно получить, скопировав ее в каталог веб-сайта. -
安全稳定
: Благодаря преимуществам открытого исходного кода,
В-четвертых, создайте среду выполнения PHP.
PHP:Hypertext Preprocessor,超文本预处理器的字母缩写
, является широко используемым многоцелевым языком сценариев с открытым исходным кодом, который может быть встроен в HTML, подходит для разработки веб-приложений и имеет более высокую скорость выполнения веб-страницы, поддерживает большинство популярных баз данных и различные операционные системы.
Установить PHP-пакеты
Готов к работе
Во избежание возникновения конфликтов программ и других явлений, сначала используйтеrpm
способ установкиphp
и сопутствующие зависимости.
Если он уже существует, вы можете卸载 php php-cli php-ldap php-common php-mysql
и т.д. Кроме того, необходимо установитьzlib-devel
а такжеlibxml2-devel
Мешок.
[root@localhost lamp]# rpm -e php php-cli php-ldap php-common php-mysql --nodeps
[root@localhost lamp]# rpm -ivh /mnt/Packages/zlib-devel-1.2.3-29.el6.x86_64.rpm
[root@localhost lamp]# rpm -ivh /mnt/Packages/libxml2-devel-2.7.6-14.el6.x86_64.rpm
Установите библиотеку инструментов расширения
В практических корпоративных приложениях некоторые основаны наPHP
развитиеWeb
Для прикладной системы потребуются дополнительные инструменты расширения.
Например:数据加密工具:libmcrypt、mhash、mcrypt
Подождите, установочные пакеты, задействованные в этой статье, будут упакованы вместе в公众号后台
, вы можете пройти获取
способ получить或
пройти через站点:http://sourceforge.net
скачать, установитьPHP
Эти инструменты расширения должны быть установлены перед пакетом программного обеспечения.
Установить libmcrypt
[root@localhost lamp]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/
[root@localhost lamp]# cd /usr/src/libmcrypt-2.5.8/
[root@localhost libmcrypt-2.5.8]# ./configure
[root@localhost libmcrypt-2.5.8]# make && make install
[root@localhost libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/
установить mhash
[root@localhost lamp]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
[root@localhost lamp]# cd /usr/src/mhash-0.9.9.9/
[root@localhost mhash-0.9.9.9]# ./configure
[root@localhost mhash-0.9.9.9]# make && make install
[root@localhost mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib/
установить mcrypt
[root@localhost lamp]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
[root@localhost lamp]# cd /usr/src/mcrypt-2.6.8/
[root@localhost mcrypt-2.6.8]# ./configure
[root@localhost mcrypt-2.6.8]# ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
[root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib: LD_LIBRARY_PATH # 解决 configure 配置报错的现象
[root@localhost mcrypt-2.6.8]# ./configure
[root@localhost mcrypt-2.6.8]# make && make install
Скомпилируйте и установите PHP
распаковывать
будет загруженPHP
Исходный пакет распаковывается и передается/usr/src
каталог и переключитесь на этот каталог.
[root@localhost lamp]# tar zxf php-5.3.28.tar.gz -C /usr/src/
[root@localhost lamp]# cd /usr/src/php-5.3.28/
настроить
сделанный на заказPHP
параметры конфигурации, необходимо указатьhttpd
а такжеmysqld
Путь установки легко добавить соответствующие параметры поддержки, так чтоLAMP
Компоненты работают вместе. также необходимо указать安装路径
,启用多字节支持
,加密扩展支持
Ждать.
[root@localhost php-5.3.28]# ./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring
Значение каждого варианта параметра:
-
--prefix: указывает, что
PHP
В какой каталог установлена программа; -
--с-mcrypt:
加载数据加密等扩展工具
; -
--with-apxs2: установить
apache http server
Расположение файла предоставленной программы поддержки модуля apxs; -
--with-mysql: установить
MySQL 数据库
Место установки сервисной программы; -
--with-config-file-path: установить
PHP
файл конфигурацииphp.ini
место, где он будет храниться; -
--enable-mbstring:
启用多字节字符串功能,支持中文等代码
;
Если во время процесса конфигурации возникает следующая ошибка, которая привела к сбою компиляции;
configure: error: Cannot find libmysqlclient under /usr.
Note that the MySQL client library is not bundled anymore!
При поиске libmysqlclient обнаруживается, что это мягкое соединение, созданное libmysqlclient.so.16.0.0 в каталоге /usr/lib64/mysql/. PHP по умолчанию использует /usr/lib/ для поиска, поэтому оно не найдено. , просто найдите проблему.
Решение
Выполните следующую команду;
cp -rp /usr/lib64/mysql/libmysqlclient.so.15.0.0 /usr/lib/libmysqlclient.so
Скомпилируйте и установите
Если процесс компиляции длительный и за это время не возникает ошибок, значит,PHP
Процесс установки программы в основном завершен.
[root@localhost php-5.3.28]# make && make install
5. Настройте среду компонента LAMP
в основном включает
-
PHP 的配置文件 php.ini
: определить рабочие параметры PHP; -
Apache 的配置文件 httpd.conf
: Загрузите модуль libphp5.so для поддержки веб-страниц PHP;
корректировка конфигурации php.ini
Создание и базовые настройки php.ini, установленный пакет PHP, сервер не будет автоматически создавать файл php.ini, но в исходном каталоге их два.php.ini 开头的样例配置文件,分别用于开发环境和生产环境
.
[root@localhost php-5.3.28]# ll php.ini-*
-rw-r--r--. 1 501 games 69606 12月 11 2013 php.ini-development # 开发样例文件
-rw-r--r--. 1 501 games 69627 12月 11 2013 php.ini-production # 生产样例文件
Выберите один из файлов примеров и скопируйте вPHP
директория с конфигурационным файлом/usr/local/php5
под и переименованныйphp.ini
.
[root@localhost php-5.3.28]# cp /usr/src/php-5.3.28/php.ini-development /usr/local/php5/php.ini
Исправлятьphp.ini
Содержимое конфигурации в файле можно контролироватьPHP
Характеристики исполнения веб-страниц.
Разрешать ли пользователям загружать файлы, устанавливать ограничение размера загружаемых файлов, устанавливать используемый по умолчанию набор символов, загружать дополнительные модули расширения и т. д.;
[root@localhost php-5.3.28]# vi /usr/local/php5/php.ini
784 default_charset = "uft-8" # 设置默认字符集:utf-8
882 file_uploads = On # 允许通过 PHP 网页上传文件
891 upload_max_filesize = 2M # 允许上传的文件大小限制
894 max_file_uploads = 20 # 每个 HTTP 最大允许请求上传的文件数
740 post_max_size = 8M # 每次通过表单 post 提交的数据量限制
226 short_open_tag = On # 允许识别 PHP 短语法标记
添加 ZendGuardLoader 优化模块
, улучшитьPHP
Эффективность выполнения программы, оптимизация скорости загрузки страниц. Этот модуль оптимизации доступен для серии PHP 5.3, а также может быть загружен с官方站点:http://www.zend.com 下载
.
первая загрузкаZendGuardLoader
пакет распаковывается в/usr/src
каталог и поместитеphp-5.3.x
Скопируйте файлы модуля в каталог вPHP
Папка модуля программы.
[root@localhost lamp]# tar zxf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/src/
[root@localhost lamp]# cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/
[root@localhost php-5.3.x]# cp ZendGuardLoader.so /usr/local/php5/lib/php
Исправлятьphp.ini
файл конфигурации, добавьте загрузку и включитеZendGuardLoader.so
Операторы конфигурации для модуля.
[root@localhost php-5.3.x]# vi /usr/local/php5/php.ini
1919 zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
1920 zend_loader.enable=1
настройки конфигурации httpd.conf
Сделатьhttpd服务器
служба поддержкиPHP
Функция разбора страницы, нужно пройтиLoadModule
Загрузка элемента конфигурацииPHP
файл модуля программы, затем добавьтеAddType
элементы конфигурации и поддержка.php
типа веб-файлов, также должны бытьDirectoryIndex
Добавьте элементы конфигурации в строку конфигурацииindex.php
а такжеindex.html
выявить общиеPHP
Домашний файл.
перезагружатьhttpd
обслуживание и обновление элементов конфигурации;
[root@localhost php-5.3.x]# vi /usr/local/httpd/conf/httpd.conf
53 LoadModule php5_module modules/libphp5.so
54 AddType application/x-httpd-php .php
170 DirectoryIndex index.php index.html
[root@localhost php-5.3.x]# /usr/local/httpd/bin/apachectl restart
Значения, содержащиеся в приведенных выше конфигурациях
LoadModule установленPHP
Если он добавляется автоматически во время процесса, AddType необходимо добавить вручную, а DirectoryIndex необходимо изменить на исходной основе;
-
php5_module
: имя модуля; -
modules/libphp5.so
: расположение файла модуля;
6. Проверьте, успешно ли построена LAMP.
ЗаканчиватьPHP
После установки и настройки соответствующих инструментов расширения соответствующие функции можно протестировать и проверить.LAMP架构平台
и в корневом каталоге сайта/usr/local/httpd/htdocs/
Создайте соответствующий тестPHP
Веб-страницы, доступ к которым осуществляется через браузер для вынесения сужденийLAMP
Удачно ли он построен?
Проверить двумя способами:
-
PHP 网页解析是否成功;
-
访问 MySQL 数据库系统进行验证;
Проверьте, является ли веб-страница PHP нормальной
Напишите суффикс имениtest1.php
форматированные веб-файлы в сочетании сPHP
Встроенныйphpinfo( )
функция для отображения сервераPHP
Информация об окружении, код в файле должен включать<?php···?>
теги и поместите файл в корневую директорию сайта/usr/local/httpd/htdocs/
.
[root@localhost php-5.3.x]# vi /usr/local/httpd/htdocs/test1.php
<?php
phpinfo( );
?>
Доступ через браузер с именем:test1.php
тестовая страница.
Например:http://www.jacktiangjwan.com/test1.php
это можно увидетьPHP
Номер версии программы, команды конфигурации, текущие переменные и другая информация;
Проверьте, может ли веб-страница PHP нормально обращаться к базе данных MySQL.
Напишите суффикс имениtest2.php
форматированные веб-файлы,添加数据库的操作命令
, который используется для проверкиMySQL 数据库
соединение, запрос и другие операции.
-
mysql_connect()函数
: для подключенияMySQL数据库
, вам необходимо указать адрес целевого хоста, имя пользователя и пароль; -
mysql_close
: отключить соединение с базой данных;
[root@localhost mysql-5.5.22]# vi /usr/local/httpd/htdocs/test2.php
<?php
$link=mysql_connect('127.0.0.1','root','666666'); # 连接 MySQL 数据库
if($link) echo "恭喜你,成功连接到 MySQL 数据库!"; # 连接成功时的返回信息
mysql_close(); # 断开数据库连接
?>
перезапустить службу
[root@localhost mysql-5.5.22]# /usr/local/httpd/bin/apachectl restart
Доступ через браузер с именем:test2.php
тестовая страница.
Например:http://www.jacktiangjwan.com/test2.php
Вы можете увидеть успешное подключениеMySQL 数据库
, когда ваше имя пользователя и пароль неверны, илиmysql_connect()函数
Если он не запущен и не может подключиться к базе данных, будет выведена страница с ошибкой.
Рекомендуемое чтение
Научите, как развернуть базу данных MySQL в среде Linux!
MySQL | Система баз данных MySQL (2) — основные операции операторов SQL
MySQL | Система базы данных MySQL (3) - авторизация пользователя базы данных
MySQL | Система баз данных MySQL (4) - резервное копирование и восстановление базы данных
Оригинальность непростая.Если вы считаете, что эта статья полезна для вас, ставьте лайк, комментируйте или пересылайте эту статью, потому что это будет моей мотивацией выпускать больше качественных статей, спасибо!
Кстати, друзья-копатели, не забудьте дать мне бесплатный подписчик! На случай, если ты заблудишься и не сможешь найти меня в следующий раз.
Увидимся в следующий раз!