LAMP环境搭建与配置
一、介绍
LAMP(Linux- Apache-MySQL-PHP)网站架构是目前国际流行的Web框架。
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
MySQL是一个关系型数据库,由瑞典AB公司开发,目前属于 Oracle 旗下产品,中小型数据库,表过大会出现IO性能瓶颈。
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。
二、Apache部署
1.依赖安装
yum install -y pcre-devel libxml2 expat-devel zlib zlib-devel
2.apr安装
wget https://www.apache.org/dist/apr/apr-1.7.0.tar.bz2
tar fx apr-1.7.0.tar.bz2
cd apr-1.7.0
./configure --prefix=/usr/local/apr
make && make install
3.apr-util安装
wget https://www.apache.org/dist/apr/apr-util-1.6.1.tar.bz2
tar fx apr-util-1.6.1.tar.bz2
cd apr-util-1.6.1/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
make && make install
4.apr-iconv安装
wget https://www.apache.org/dist/apr/apr-iconv-1.2.2.tar.bz2
tar fx apr-iconv-1.2.2.tar.bz2
cd apr-iconv-1.2.2/
./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
make && make install
5.Apache安装
wget https://downloads.apache.org/httpd/httpd-2.4.46.tar.gz
tar fx httpd-2.4.46.tar.gz
cd httpd-2.4.46/
./configure --prefix=/usr/local/apache --enable-mpms-shared=all --with-mpm=event --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-remoteip --enable-proxy --enable-proxy-fcgi --enable-proxy-uwsgi --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --enable-static-support --enable-static-ab --enable-ssl --disable-userdir --enable-nonportable-atomics --disable-ipv6 --with-sendfile
make && make install
参数说明:
--prefix:指定安装路径 --enable-mpms-shared:启用MPM所有支持的模式 --with-mpm:默认使用enevt模式 --with-apr:指定apr的安装路径 --with-apr-util:指定apr-util的安装路径 --enable-so:允许运行时加载DSO模块 --enable-remoteip:支持基于客户端IP做访问控制 --enable-proxy:开启代理模块 --enable-proxy-fcgi:支持PHP网站 --enable-proxy-uwsgi:支持python网站 --enable-deflate:开启压缩 --enable-expires:开启客户端缓存 --enable-rewrite:开启URL重写 --enable-cache:开启服务器缓存 --enable-static-support:支持静态连接 --enable-static-ab:使用静态连接编译ab --disable-userdir:禁用用户主目录提供页面访问 --enable-nonportable-atomics:对新式CPU支持 --disable-ipv6:禁用IPV6 --with-sendfile:开启sendfile 0复制机制 --enable-ssl:开启ssl
6.启动服务
/usr/local/apache/bin/httpd
7.验证
三、MySQL部署
1.依赖安装
yum -y install ncurses-devel gcc- bzip2- bison
2.创建用户
useradd -s /sbin/nologin -r mysql
3.boost安装
wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
tar fx boost_1_59_0.tar.gz
mv boost_1_59_0 /usr/local/boost
4.cmake安装
wget https://github.com/Kitware/CMake/releases/download/v3.6.0/cmake-3.6.0-Linux-x86_64.tar.gz
tar fx cmake-3.6.0-Linux-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/cmake-3.6.0-Linux-x86_64/ /usr/local/cmake
vim /etc/profile
CMAKE_HOME=/usr/local/cmake
PATH=$CMAKE_HOME/bin:$PATH
source /etc/profile
5.MySQL安装
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.33.tar.gz
mkdir -p /data/mysql/data
tar fx mysql-boost-5.7.33.tar.gz
cd mysql-5.7.33/
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data/ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_USER=mysql -DWITH_DEBUG=0 -DWITH_EMBEDDED_SERVER=1 -DDOWNLOAD_BOOST=1 -DENABLE_DOWNLOADS=1 -DWITH_BOOST=/usr/local/boost
make && make install
参数说明:
-DCMAKE_INSTALL_PREFIX:指定安装路径 -DMYSQL_DATADIR:指定数据目录 -DMYSQL_UNIX_ADDR:指定sock文件路径 -DWITH_INNOBASE_STORAGE_ENGINE:安装Innodb存储引擎 -DWITH_MYISAM_STORAGE_ENGINE:安装myisam存储引擎 -DENABLED_LOCAL_INFILE:允许使用Load data命令从本地导入数据 -DEXTRA_CHARSETS:安装所有字符集 -DDEFAULT_CHARSET:默认字符集utf-8 -DDEFAULT_COLLATION:校验字符 -DMYSQL_USER:mysql用户名 -DWITH_DEBUG:关闭debu -DWITH_EMBEDDED_SERVER:生成一个libmysqld.a(.so)的库 -DDOWNLOAD_BOOST:允许boost -DENABLE_DOWNLOADS:允许下载boost库文件 -DWITH_BOOST:指定boost路径
6.安装后操作
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
chown mysql.mysql /usr/local/mysql/ -R
chown mysq.mysql /data/mysql
ln -sf /usr/local/mysql/bin/* /usr/bin/
ln -sf /usr/local/mysql/lib/* /usr/lib/
ln -sf /usr/local/mysql/libexec/* /usr/local/libexec
ln -sf /usr/local/mysql/share/man/man1/* /usr/share/man/man1
ln -sf /usr/local/mysql/share/man/man8/* /usr/share/man/man8
7.修改配置文件
vim /etc/my.cnf
[mysqld] datadir=/data/mysql/data socket=/usr/local/mysql/mysql.sock symbolic-links=0 [mysqld_safe] log-error=/var/log/mysql.log pid-file=/var/run/mysql.pid !includedir /etc/my.cnf.d
8.初始化数据库
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/data/
9.启动服务
/etc/init.d/mysql start
四、PHP部署
1.依赖安装
yum install gcc-c++ libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel gd net-snmp-*
2.libzip安装
wget https://libzip.org/download/libzip-1.5.2.tar.gz
tar fx libzip-1.5.2.tar.gz
cd libzip-1.5.2/
mkdir build
cd build
cmake ..
make && make install
3.PHP安装
wget https://www.php.net/distributions/php-7.3.4.tar.bz2
tar fx php-7.3.4.tar.bz2
cd php-7.3.4/
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli=mysqlnd --enable-pdo --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/ --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-pcre-regex --with-zlib --with-bz2 --enable-calendar --disable-phar --with-curl --enable-dba --with-libxml-dir --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-jis-conv --with-mhash --enable-mbstring --enable-opcache=yes --enable-pcntl --enable-xml --disable-rpath --enable-shmop --enable-sockets --enable-zip --enable-bcmath --with-snmp --disable-ipv6 --with-gettext --disable-rpath --disable-debug --enable-embedded-mysqli --with-mysql-sock=/usr/local/mysql/ --with-apxs2=/usr/local/apache/bin/apxs
make && make install
参数说明:
---prefix:安装路径 --with-config-file-path:配置文件路径 --with-mysqli:mysql支持及客户端设置 --enable-pdo:开启pdo --with-iconv-dir:指定转码工具,各种字符集间的转换 --enable-fpm:支持php-fpm,允许以服务的方式启动PHP --with-pcre-regex:支持pcre正则表达式 --with-zlib:支持压缩 --enable-calendar:支持日历 --disable-phar:关闭PHAR --with-curl:支持curl --enable-dba:开启dba函数支持 --with-libxml-dir:支持xml文件库 对xml读取和查询 --enable-ftp:支持ftp --with-jpeg-dir:支持图片 --with-freetype-dir:支持字库 --enable-gd-jis-conv:支持gd库 --with-mhash:支持加密 --enable-opcache:开启opcache --enable-pcntl:开启PHP进程控制支持 默认是关闭的 --enable-xml:允许xml文件 --disable-rpath:关闭额外的运行库文件 --enable-shmop:开启Shmop --enable-sockets:打开 sockets 支持 --enable-bcmath:增加bcmath扩展的支持 --with-snmp:支持snmp --disable-ipv6:关闭IPV6支持 --with-gettext:打开gnu 的gettext 支持,编码库用到 --disable-debug:关闭debug --with-apxs2:作为apache模块运行
4.修改配置文件
#作为模块
cp php.ini-production /usr/local/php/etc/php.ini
vim /usr/local/php/etc/php.ini
[opcache] ;加载模块 zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20180731/opcache.so ;启用操作码缓存 opcache.enable=1 ;共享内存大小,单位MB opcache.memory_consumption=128 ;存储临时字符串的内存大小,单位MB opcache.interned_strings_buffer=8 ;哈希表中可存储的脚本文件数量上限 opcache.max_accelerated_files=4000 ;每隔revalidate_freq 设定的秒数 检查脚本是否更新 opcache.validate_timestamps=1 ;设置缓存的过期时间 opcache.revalidate_freq=60 ;一次释放全部请求变量的内存 opcache.fast_shutdown=1 ;如果启用,则在调用函数file_exists(), is_file() 以及 is_readable() 的时候, 都会检查操作码缓存 opcache.enable_file_override=0 ;如果缓存处于非激活状态,等待多少秒之后计划重启 opcache.force_restart_timeout=180
#作为服务
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
vim /usr/local/php/etc/php-fpm.conf
[global] pid = run/php-fpm.pid error_log = log/php-fpm.log daemonize = yes include=/usr/local/php/etc/php-fpm.d/*.conf
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
[www] #开启php-fpm的执行用户 user = www #开启php-fpm的所属组 group = www #监听方式,可以写成listen = /tmp/php-fcgi.sock listen = 127.0.0.1:9000 #监听socket listen的用户 listen.owner = www #监听socket listen的组 listen.group = www #监听socket listen权限 listen.mode = 0660 #启用进程方式 pm = dynamic #最大开启子进程数 pm.max_children = 5 #开始启动多少子进程 pm.start_servers = 2 #最小空闲子进程 pm.min_spare_servers = 1 #最多空闲子进程 pm.max_spare_servers = 3 #进程处理多少个请求之后销毁重建 pm.max_requests = 500 #限定打开最大的文件数 rlimit_files = 1024
/usr/local/php/sbin/php-fpm
五、平台集成
1.PHP作为模块
vim /usr/local/apache/conf/httpd.conf
LoadModule php7_module modules/libphp7.so AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps <IfModule dir_module> DirectoryIndex index.php index.html </IfModule>
vim /usr/local/apache/htdocs/index.php
<?php phpinfo() ?>
/usr/local/apache/bin/apachectl restart
http:localhost
2.PHP作为服务
#tcp sock模式
vim /usr/local/apache/conf/httpd.conf
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> <FilesMatch \.php$> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch>
#unix sock模式
vim /usr/local/php/etc/php-fpm.d/www.conf
listen = /usr/local/php/etc/php-fpm.socket listen.backlog = 511 listen.owner = www listen.group = www listen.mode = 0660
vim /usr/local/apache/conf/httpd.conf
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so <FilesMatch "\.php$"> SetHandler "proxy:unix:/usr/local/php/etc/php-fpm.socket|fcgi://localhost/" </FilesMatch>
- Ubuntu搭建LAMP服务器(apache+mysql+php),Ubuntu配置php环境
- Linux|Cent-7.3(腾讯云服务器上配置LAMP环境用于搭建owncloud-First)
- Debian7配置LAMP(Apache/MySQL/PHP)环境及搭建建站
- 搭建Windows系统下php开发环境有很多种方式,比如LAMP的配置、php IDE和调试工具的选择等等。根据每个人喜好不同有很多配置方式。这里主要介绍的是利用XAMPP集成安装和配置apache、
- LAMP环境配置 Linux+apache+php+mysql搭建
- [PHP] ubuntu16.04配置Lamp环境(搭建linux+apache+mysql+php7环境)
- 博客园 首页 新随笔 联系 订阅 管理 Ubuntu 16.04搭建LAMP开发环境 1. 配置网络环境 略 2. 设置ROOT密码 sud
- Centos 7安装搭建LAMP环境(Apache+PHP+MariaDB),安装配置WordPress并通过其发布文章
- LAMP环境搭建与配置(一)
- LAMP攻略: LAMP环境搭建,Linux下Apache,MySQL,PHP安装与配置
- 年终福利,PHP7+Apache2.4+MySQL5.6 源码编译安装,环境配置,搭建你自己的LAMP环境
- lamp环境搭建 centos5.5 +Apache2.2.9 +mysql5.1.18+php5.3.6 源码安装,【附配置环境】
- Linux环境配置之LAMP搭建(源码安装)
- LAMP环境配置笔记(PHP环境搭建)
- ubuntu下lamp环境的搭建及phpmyadmin的安装配置
- 利用阿里云ECS服务器cent OS7环境搭建lamp并配置https
- ubuntu16.04配置Lamp环境(搭建linux+apache+mysql+php7环境)
- 完整Debian7配置LAMP(Apache/MySQL/PHP)环境及搭建建站
- LAMP环境搭建图形界面配置MySQL数据库
- yum搭建Lamp环境以及配置