1.LAMP平台概述 LAMP架构是目前成熟的企业网站应用模式之一,是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。
2.LAMP平台构成组件
- Linux操作系统
- Apache网站服务器
- MySQL数据库服务器
- PHP/Perl/Python网页编程语言
3.LAMP平台的应用优势 成本低廉、可定制、易于开发、方便使用、安全和稳定
LAMP环境搭建
一、Linux系统安装(此处省略)
二、Apache
1.安装一些必要的依赖包
[root@localhost ~]# yum -y install apr* cyrus-sasl expat-devel libdb-devel openldap-devel pcre*
2、源码编译及安装
[root@localhost ~]# wget http://mirrors.myaegean.gr/apache//httpd/httpd-2.4.43.tar.gz
或者
[root@localhost media]# tar zxf httpd-2.4.25.tar.gz -C /usr/src/
[root@localhost media]# cd /usr/src/httpd-2.4.25/
[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi && make && make install
……
- –prefix:指定将httpd服务程序安装到哪个目录下,如/usr/local/httpd。
- –enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力。
- –enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
- –enable-charset-Iite:启动字符集支持,以便支持使用各种字符集编码的网页。
- –enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。
3、添加httpd系统服务
[root@localhost ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[root@localhost ~]# vim /lib/systemd/system/httpd.service
[Unit]
Description = The Apache HTTP Server //设置服务单元描述字符串
After = network.target //设置服务单元的启动先后顺序(先启动httpd.service,后启动network.target)
[Service]
Type = forking //设置服务进程的启动类型
PIDFile = /usr/local/httpd/logs/httpd.pid //设置服务的守护进程的PID文件
ExecStart = /usr/local/bin/apachectl $OPTIONS //设置服务启动时执行的命令
ExecReload = /bin/kill -HUP $MAINPID //设置服务重新加载时执行的命令
KillMode = process //设置在单元停止时,杀死进程的方法。 process表示仅杀死主进程
Restart = on-failure //表示仅在进程异常退出时重启
RestartSec = 42s //设置在重启服务前暂停多长时间
[Install]
WantedBy = graphical.target //设置该服务所在的Target
[root@localhost ~]# systemctl enable httpd.service
Created symlink from /etc/systemd/system/graphical.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
三、MySQL
1、准备工作
[root@localhost ~]# cd /media/Packages/
[root@localhost Packages]# rpm -ivh ncurses-devel-5.9-13.20130511.el7.x86_64.rpm
警告:ncurses-devel-5.9-13.20130511.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:ncurses-devel-5.9-13.20130511.el7################################# [100%]
[root@localhost Packages]# cd /haha/
[root@localhost haha]# tar zxf cmake-2.8.6.tar.gz -C /usr/src/
[root@localhost haha]# cd /usr/src/cmake-2.8.6/
[root@localhost cmake-2.8.6]# ./configure && gmake && gmake install
2、源码编译及安装
1、创建运行用户
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -M -s /sbin/nologin mysql -g mysql
2、解压下载的mysql源码包,配置、编译并安装
[root@localhost haha]# tar zxf mysql-
[root@localhost usr]# cd /usr/src/mysql-5.6.36/
[root@localhost mysql-5.6.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all && make && make install
3、安装后的其他调整
1、对数据库目录进行权限设置,建立配置文件
[root@localhost mysql-5.6.36]# chown -R mysql:mysql /usr/local/mysql/
[root@localhost mysql-5.6.36]# rm -rf /etc/my.cnf
[root@localhost mysql-5.6.36]# cp support-files/my-default.cnf /etc/my.cnf
2、初始化数据库,设置环境变量
[root@localhost mysql-5.6.36]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@localhost mysql-5.6.36]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql-5.6.36]# . /etc/profile
4、添加系统服务
[root@localhost mysql-5.6.36]# cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
[root@localhost mysql-5.6.36]# chmod +x /usr/local/mysql/bin/mysqld.sh
[root@localhost mysql-5.6.36]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Service
After=network.target
[Service]
User=mysql //指定程序运行的用户账号
Group=mysql //指定程序运行的组账号
Type=forking
PIDFile=/usr/local/mysql/data/localhost.localdomain.pid //指定PID文件位置,默认为主机名.pid
ExecStart=/usr/local/mysql/bin/mysqld.sh start
ExecStop=/usr/local/mysql/bin/mysqld.sh stop
[Install]
WantedBy=multi-user.target
[root@localhost mysql-5.6.36]# systemctl start mysqld
[root@localhost mysql-5.6.36]# systemctl enable mysqld
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.
四、安装PHP组件
1、安装相关软件包和扩展工具库
[root@localhost Packages]# rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm xz-devel-5.2.2-1.el7.x86_64.rpm libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm
准备中... ################################# [100%]
正在升级/安装...
1:xz-devel-5.2.2-1.el7 ################################# [ 33%]
2:zlib-devel-1.2.7-17.el7 ################################# [ 67%]
3:libxml2-devel-2.9.1-6.el7_2.3 ################################# [100%]
[root@localhost media]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/
[root@localhost media]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
[root@localhost media]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
[root@localhost Packages]# cd /usr/src/libmcrypt-2.5.8/
[root@localhost libmcrypt-2.5.8]# ./configure && make && make install
[root@localhost libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib
[root@localhost libmcrypt-2.5.8]# cd /usr/src/mhash-0.9.9.9/
[root@localhost mhash-0.9.9.9]# ./configure && make && make install
[root@localhost mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib
[root@localhost mhash-0.9.9.9]# cd /usr/src/mcrypt-2.6.8/
[root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
[root@localhost mcrypt-2.6.8]# ./configure && make && make install
2、编译安装PHP
[root@localhost media]# tar zxf php-5.5.38.tar.gz -C /usr/src/
cd [root@localhost media]# cd /usr/src/php-5.5.38/
[root@localhost php-5.5.38]# ./configure --prefix=/usr/local/php5 \ //指定将PHP程序安装到目录下
> --with-mcrypt \ //加载数据加密等扩展工具支持
> --with-apxs2=/usr/local/httpd/bin/apxs \ //设置Apache HTTP Server提供的apxs模块支持程序的文件位置
> --with-mysql=/usr/local/mysql \ //设置MySOL数据库服务程序的安装位置
> --with-mysqli=/usr/local/mysql/bin/mysql_config \ //添加mysqli扩展支持
> --with-config-file-path=/usr/local/php5 \ //设置PHP的配置文件php.ini将要存放的位置
> --enable-mbstring && make && make install //启用多字节字符串功能
3、设置LAMP组件环境
在这里插入代码片
1、php.ini配置调整
- 其中/usr/src/php-5・5.2 8/php.ini-development是开发版样例文件,用于学习、测试
- /usr/src/php-5.5.2 8/php.ini-production是生产版样例文件,用于实际运营
[root@localhost ~]# cp /usr/src/php-5.5.38/php.ini-development /usr/local/php5/php.ini
[root@localhost ~]# vim /usr/local/php5/php.ini
default_charset = "utf-8 //设置默认字符集为utf-8
file_uploads = On //允许通过PHP网页上传文件
upload_max_filesize = 2M //允许上传的文件大小限制
max_file_uploads = 20 //每个HTTP最多允许请求上传的文件数
post_max_size = 8M //每次通过表单post提交的数据量限制
short_open_tag = On //允许识别PHP短语法标记,即<? —?>
extension=php_mysqli.dll //添加MySQL支持
2、添加ZendGuardLoader优化模块
[root@localhost media]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src/
[root@localhost media]# cd /usr/src/zend-loader-php5.5-linux-x86_64/
[root@localhost zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php/
[root@localhost zend-loader-php5.5-linux-x86_64]# vim /usr/local/php5/php.ini
zend_extension = /usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable = 1
3、httpd.conf配置调整
[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
AddType application/x-httpd-php .php
[root@localhost ~]# systemctl restart httpd
五、安装phpMyAdmin
1、解包并复制到网站目录,建立配置文件config.inc.php
[root@localhost media]# tar zxf phpMyAdmin-4.7.2-all-languages.tar.gz -C /usr/src/
[root@localhost media]# cd /usr/src/
[root@localhost src]# mv phpMyAdmin-4.7.2-all-languages/ /usr/local/httpd/htdocs/phpMyAdmin
[root@localhost src]# cd /usr/local/httpd/htdocs/phpMyAdmin/
[root@localhost phpMyAdmin]# cp config.sample.inc.php config.inc.php