搭建基于LAMP的web应用程序平台

LAMP的介绍

Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

LAMP的搭建过程

 安装次序:httpd-->mysql-->php

因为php的编译安装依赖于httpd的开发环境,以及MySQL的开发环境,所以php最后安装

    一、准备环境

首先安装开发工具和服务器

yum groupinstall "Development Tools" "Server Platform Development"

yum install -y pcre-devel

yum install -y gcc

yum install openssl

yum install openssl-devel

其次下载arp和api-util

下载地址:arp.apache.org

编译安装:

[[email protected] ~]# tar xf apr-1.5.2.tar.bz2 
[[email protected] ~]# cd apr-1.5.2
[[email protected] apr-1.5.2]# ./configure --prefix=/usr/local/apr
[[email protected] apr-1.5.2]# make && make install
[[email protected] ~]# tar xf apr-util-1.5.4.tar.bz2 
[[email protected] ~]# cd apr-util-1.5.4
[[email protected] apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[[email protected] apr-util-1.5.4]# make && make install

、安装httpd

安装版本:httpd-2.2.31.tar.bz2

下载地址:httpd.apache.org

安装过程:

1)安装

tar xf httpd-2.2.31.tar.bz2
cd httpd-2.2.31.tar.bz2
[[email protected] httpd-2.2.31]# ./configure --prefix=/usr/local/apache22 --sysconfdir=/etc/httpd22 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-modules=most  --enable-mpms-shared=all --with-mpm=prefork
[[email protected] httpd-2.2.31]# make && make install

--prefix=/usr/local/apache22:安装路径

-sysconfdir=/etc/httpd22:配置文件路径

--enable-so:让apache核心装载DSO

--enable-ssl:支持ssl

--enable-cgi:支持cgi

--enable-rewrite:支持重写功能

--with-zlib:支持数据压缩

--with-pcre:支持pcre正则

--with-apr=/usr/local/apr:apr位置

--with-apr-util=/usr/local/apr-util:apr-util位置

--with-modules=most:支持更多的模块

--enable-mpms-shared=all:支持mpms的所有模式

--with-mpm=prefork:设置mpm模式为prefork

2)配置PATH

[[email protected] ~]# cat /etc/profile.d/httpd22.sh
export PATH=/usr/local/apache22/bin:$PATH

3)配置服务脚本

  [[email protected] ~]# cp /etc/rc.d/init.d/httpd  /etc/rc.d/init.d/httpd22 #直接拷贝原先系统中的脚本修改
    [[email protected] ~]# cat /etc/rc.d/init.d/httpd22
prog=httpd
httpd=${HTTPD-/usr/local/apache22/bin/httpd}
pidfile=${PIDFILE-/usr/local/apache22/logs/${prog}.pid}
#pidfile=${PIDFILE-/var/run/${prog}.pid}
lockfile=${LOCKFILE-/var/lock/subsys/${prog}}
RETVAL=0

注意:httpd-2.2.31版本的httpd.pid位置有改动,因此需要修改pidfile文件位置

启动服务即可正常运行,此时可用浏览器查看是否正常,注意,用外网浏览,需要关闭SELinux,配置iptable。

、安装mysql(mariadb)

通用二进制格式安装MySQL:(下载地址:https://mariadb.org)

安装过程:

1)新建mysql组及用户:

 groupadd -r mysql
  useradd -r -g mysql mysql

2).为mysql解压

 tar xf mariadb-5.5.36-linux-i686.tar.gz -C /usr/local #必须解压这里
     cd /usr/local
     ln -sv mariadb-5.5.36-linux-i686 mysql  #必须建立连接

3).创建需要的目录及修改权限

  cd mysql/
 mkdir mydata   #创建数据的存放位置
  pvcreate /dev/sda3
  vgcreate myvb /dev/sda3
  lvcreate -L 10G -m mylv  #创建逻辑卷
   mkfs -t ext4 /dev/myvg/mylv  
  vim /etc/fstab
  /dev/myvg/mylv /mydata xfs defaults  #将mydata目录挂载至新建的逻辑卷上
  mount -a
  mount
  mkdir /mydata/data
  chown -R mysql:mysql /mydata/data  #修改存放数据目录的用户及权限

4)初始化mysql

scripts/mysql_install_db  --help
 scripts/mysql_install_db --user=mysql --datadir=/mydata/data  #将用户设为mysql,数据存在于/mydata/data目录下

5) 验证:

 ls /mydata/data  #如果有文件,说明创建成功

6).配置文件:

[[email protected] mysql]# mkdir /etc/mysql
 [[email protected] mysql]# cp support-files/my-large.cnf /etc/mysql/my.cnf
  [[email protected] mysql]# vim /etc/mysql/my.cnf 
 
[mysqld] 
port = 3306 
socket = /tmp/mysql.sock
 skip-external-locking key_buffer_size = 256M
 max_allowed_packet = 1M
 table_open_cache = 256
 sort_buffer_size = 1M
 read_buffer_size = 1M 
read_rnd_buffer_size = 4M 
myisam_sort_buffer_size = 64M
 thread_cache_size = 8 
query_cache_size= 16M
 # Try number of CPU‘s*2 for thread_concurrency 
thread_concurrency = 8
 datadir=/mydata/data
 innodb_file_per_table=on
#
innodb_file_per_table参数,可以修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间

#注意:mysql解压目录下有support-files目录,通过此目录可设置大部分配置文件

服务脚本:

cp support-files/mysql.server /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

service mysqld start

ls /mydata/data

vim /etc/profile.d/mariadi.sh     加bin

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

mysql

SHOW DATABASES 显示存在的数据库

至此,mariaDB的安装完成。

 四、模块化方式安装php:

yum install libxml2-devel libmcrypt-devel bzip2-devel
 ./configure --help |less
   ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/
   --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config
   --enable-mbstring --with-freetype-dir --with-jpeg-dir
   --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache22/bin/apxs
   --with-mcrypt --with-bz2  --with-config-file-path=/etc/php/php.ini
   --with-config-file-scan-dir=/etc/php/php.d/

需要自动创建配置文件:

mkdir -pv /etc/php/php.d
cp php.ini-production /etc/php/php.ini

配置httpd程序

  cd /etc/httpd22/
      vim httpd22
      AddType application/x-httpd-php .php
       AddType application/x-httpd-php-source .phps
      LoadMoudle php5_module modules/libphp5.so
      DirectoryIndex index.php index.html

配置index.html

  <?php
      $conn=mysql_cnnect(‘127.0.0.1‘,‘root‘,‘‘);
      if ($conn)
      echo "success";
      else
      echo "failure";
      mysql_close()
      
      <?php>

 部署:phpMyAdmin

为MySQL用户设定用户:

1.SET PASSWORD FOR‘username‘@‘host‘=PASSWORD(‘your_password‘)

2.update mysql.user set password=password(‘you_password‘) where user="your user"

  
      mysql
      use mysql
      upadate user set password=password(‘magedu‘) where user=‘root‘
      select User,Host,Password FROM user;
      FLUSE PRIVILEGES

mysql -uroot -p 链接mysql,重新登陆

 

unzip phpAyAdmin-4.0.5-all-languages.zip
 cd phpAyAdmin-4.0.5-all-languages
 mv * /usr/local/apache/htdocs/pma
 cd /usr/local/apache/htdocs/pma
 cp config.sample.inc.php config.inc.php

压力测试工具xcache的安装

 /usr/local/php/bin/phpize
 ./configure --help 
 ./conifgure --with-php-config=/usr/local/php/bin/php-config
 make && make install
//编译完成最后有个扩展路径/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/记录下来
[[email protected] xcache-3.1.2]# cp xcache.ini /etc/php/php.d/
[[email protected] xcache-3.1.2]# cd /etc/php/php.d
[[email protected] php.d]# vim xcache.ini
[xcache-common]
;; non-Windows example:
extension =/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so #改路径
;; Windows example:
; extension = php_xcache.dll

重启httpd服务,配置完成

时间: 2024-11-10 11:34:50

搭建基于LAMP的web应用程序平台的相关文章

linux学习笔记——搭建基于nginx的web服务器、多核配置、nginx配置参数

############ 认识nginx #############Nginx:(发音同 engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用.  其优点是轻量级(占有内存少),高并发(并发能力强),事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用ngi

PHP_Web工作原理和几种主流的Web应用程序平台对比

一.Web工作原理 二.几种主流的Web应用程序平台

启动 LAMP 堆栈 Web 应用程序

https://aws.amazon.com/cn/getting-started/projects/launch-lamp-web-app/ 在本项目中,您将了解如何使用 AWS Elastic Beanstalk 和 Amazon Relational Database Service (RDS) 部署高可用性的 LAMP 堆栈 Web 应用程序.此堆栈使用 Linux.Apache.MySQL 和 PHP.使用 Elastic Beanstalk,您只需上传代码,Elastic Beans

搭建基于 Anaconda 管理的多用户 JupyterHub 平台

搭建基于 Anaconda 管理的多用户 JupyterHub 平台 情况:计算工作站放在实验室,多个同学需要接入使用,且需要各自独立的环境,并使用 Jupyter notebook 平台以方便协作. 步骤 1. 安装 Anaconda 由于是多人环境,应调用 root 权限在安装过程中指定安装到 /opt/anaconda/ 路径下,这样所有用户均可读,但无法直接在 base 环境下安装模块. 为了让每个用户都能访问到 conda,需要逐个在用户的 .bashrc 文件中加入 export P

基于EasyUI的Web应用程序及过去一年的总结

前言 在这家公司服务了一年时间,一个多月之前已经提交了离职申请,好在领导都已经批准了,过几天就办理手续了,在此感谢领导的栽培与挽留,感谢各位同事在工作中的给我的帮助,感谢师傅(在我心中当他是我师傅,跟着他确实学了不少东西,称呼一声师傅也不为过),离开这个团队确实有一些不舍,不为别的,只因为这个团队的气氛特别好.同事之间相处融洽.没有那么多的勾心斗角,所以干活儿也干的有劲,上班的时候可以使用网络.可以上QQ.可以上各种论坛.可以看新闻等等,我个人很喜欢这种工作方式,作为一个IT人员,如果闭门造车的

如何搭建基于容器的工业互联网PaaS平台

随着传统工业巨头的衰落和新兴"数字原生"企业的崛起,企业的竞争力正在被重新定义.对制造企业来说,硬件产品和实体资产已经不再是企业竞争力的必然保证.制造企业开始重新审视和定义自身的竞争力,寻找新的增长动能. 当下,我国工业转型升级迫在眉睫,工业互联网便是其间不可忽视的新兴信息技术力量.将其与制造业深度融合,可以为传统制造企业提供转型的新基础设施及应用模式. 8月9日,"2018中国制造业智能服务论坛"在长沙举行,会议聚焦传统制造业信息化转型及智能化发展.Rancher

搭建基于 STM32 和 rt-thread 的开发平台

我们需要平台 如果说,SharePoint 的价值之一在于提供了几乎开箱即用的 innovation 环境,那么,智能设备的开发平台也一样.不必每次都从头开始,所以需要固定的工作室和开发平台作为创新的起点,这样就会每次比从零开始"高一点点". 当然,这里不是没有纠结的.平台毕竟不是最终的产品,平台太弱固然难以支撑创新,但平台太强则臃肿和僵化同样也会限制创新:面对成百上千的类型.接口的时候,即使做一个小玩意儿也要学上一年半载,任何人都会畏惧的.有那个时间,不如自己写一个出来了.所以成功的

如何提高码农产量,基于java的web快速开发平台之自定义表单开发随笔

老板 :下班前一定写完? 程序猿:可以,下班前能一定给! 第二天早上上班~~~ 老板:这都第二天了,怎么没写完? 程序猿:我还没有下班呢! 哎!程序猿的痛啊 公司上线的项目有不少销售记录表,又是报价单,又是仓储表,还有什么请假单之类的.一开始,还觉得不就一些表单吗,有什么难的.结果,实际进行起来,才发现,字段什么的是不难,难的是整体的架构啊!每张表的架构都不一样,又不能套用,每个控件的布局啊,表格的宽度和高度,都要自己慢慢去试.这样就非常麻烦了,在开发了几张表单之后,我真的是有些难以忍受了. P

64bit CentOS搭建基于LAMP架构的discuz 3.2论坛

LAMP=Linux+Apache+Mysql+PHP 安装Apache web服务器 yum install -y httpd 安装数据库服务器 yum install -y mysql mysql-server 安装PHP yum install -y php php-common php-mysql php-gd 安装PHP优化,此优化能提速几倍的速度 yum install -y php-xcache 下载并解压缩UTF8 discuz cd wget http://download2.