部署lamp服务器
系统:CentOS 6.5 64位
rpm -qa | grep mysql #查询是否已经安装MySQL,如有执行下面的操作将其全部删除
rpm -e mysql --nodeps #--nodeps选项强制删除,删除所有以MySQL开头的软件
rpm -e mysql-devel
rpm -e mysql-libs --nodeps rpm -qa | grep httpd #查询、卸载安装的Apache
rpm -e httpd --nodeps
rpm -e httpd-tools --nodeps rpm -qa|grep php #查询是否安装php,若有将其卸载
2、更新系统,并安装基本编译器
yum -y update
yum -y install wget make zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl
yum -y install gcc gcc-c++ #基本编译器
yum -y install libXpm-devel #编译php需要
yum -y install openssl-devel
cd /usr/local/src/
mkdir /usr/local/src/dbtools/ #这个目录下的软件主要是安装MySQL使用的
cd /usr/local/src/dbtools/
wget http://ftp.gnu.org/gnu/make/make-4.1.tar.gz
wget http://alpha.gnu.org/gnu/bison/bison-2.7.91.tar.gz
wget http://www.cmake.org/files/v3.2/cmake-3.2.2.tar.gz
wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.24.tar.gz
wget -O m4-1.4..tar.gz http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
ls *.tar.gz | xargs -n1 tar xzvf #批量解压
cd .. mkdir -p /usr/local/src/libtools #这个目录下安装gd及其依赖库以支持php对图片的处理
cd /usr/local/src/libtools
wget http://xmlsoft.org/sources/libxml2-sources-2.9.2.tar.gz
wget http://mirrors.linuxeye.com/lnmp/src/libmcrypt-2.5.8.tar.gz
wget http://zlib.net/zlib-1.2.8.tar.xz
wget http://ncu.dl.sourceforge.net/project/libpng/libpng16/1.6.17/libpng-1.6.17.tar.gz
wget http://www.ijg.org/files/jpegsrc.v9.tar.gz
wget http://jaist.dl.sourceforge.net/project/freetype/freetype2/2.5.5/freetype-2.5.5.tar.gz
wget ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
wget https://codeload.github.com/libgd/libgd/tar.gz/gd-2.1.0
mv gd-2.1. gd-2.1..tar.gz #这里下载后的文件后缀不对,改一下名称后缀
ls *.tar.gz | xargs -n1 tar xzvf
cd .. mkdir -p /usr/local/src/apache_tools
cd /usr/local/src/apache_tools
wget http://mirrors.linuxeye.com/lnmp/src/apr-util-1.5.4.tar.gz
wget http://mirrors.linuxeye.com/lnmp/src/apr-1.5.1.tar.gz
wget http://mirrors.linuxeye.com/lnmp/src/pcre-8.37.tar.gz
wget http://www.apache.org/dist/httpd/httpd-2.4.12.tar.gz
cd .. mkdir -p /usr/local/src/php_pack
cd /usr/local/src/php_pack
wget http://mirrors.linuxeye.com/lnmp/src/phpMyAdmin-4.4.7-all-languages.tar.gz
wget http://mirrors.sohu.com/php/php-5.5.15.tar.gz
#wget http://cn2.php.net/distributions/php-5.4.41.tar.gz
#wget https://codeload.github.com/eaccelerator/eaccelerator/legacy.tar.gz/master #php5.5以后的版本不能用这些外在的加速插件了
#mv master eaccelerator-eaccelerator.tar
ls *.tar.gz | xargs -n1 tar xzvf
cd libxml2-2.9./
./configure --prefix=/usr/local/libxml2 && make && make install
cd .. cd libmcrypt-2.5.
./configure --prefix=/usr/local/libmcrypt && make && make install
cd .. cd zlib-1.2.
./configure --prefix=/usr/local/zlib && make && make install
cd.. cd libpng-1.6.
./configure --prefix=/usr/local/libpng && make && make install
cd .. mkdir /usr/local/jpeg9 #建立软件安装目录
mkdir /usr/local/jpeg9/bin #建立存放命令的目录
mkdir /usr/local/jpeg9/lib #建立jpeg库文件所在目录
mkdir /usr/local/jpeg9/include #建立存放头文件目录
mkdir -p /usr/local/jpeg9/man/man1 #建立存放手册目录
cd jpeg-
./configure --prefix=/usr/local/jpeg9/ --enable-shared --enable-static
make && make install
cd .. cd freetype-2.4.
./configure --prefix=/usr/local/freetype && make && make install
cd .. cd autoconf-2.69
./configure && make && make install
cd .. libgd-gd-2.1.
./bootstrap.sh
./configure --prefix=/usr/local/gd2 --with-zlib=/usr/local/zlib/ --with-jpeg=/usr/local/jpeg9/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype
make && make install
#拷贝两个文件到httpd目录下(注意:低一些的版本可能不需要此操作),并同时重命名
cp -a apr-1.5. httpd-2.4./srclib/apr
cp -a apr-util-1.5. httpd-2.4./srclib/apr-util #安装pcre
cd pcre-8.37
./configure && make && make install
cd .. #安装Apache
./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd/ --with-z=/usr/local/zlib/ --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support
make && make install #修改配置文件
# vim /etc/httpd/httpd.conf
将ServerName localhost:
DirectoryIndex index.html index.htm index.php #测试成功后,为Apache添加自启动功能,用如下命令编辑/etc/rc.d/rc.local 文件:
echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local /usr/local/apache2/bin/apachectl start 启动服务器
打开网页输入Localhost,应该看到it works字样
2、安装mysql
2-1、#安装基本依赖包,这里采用源码安装的方式,也可以使用yum命令安装
cd make-4.1
./configure && make && make install
cd m4-1.4.
./configure && make && make install
cd bison-2.7.
./configure && make && make install
cd cmake-3.2.
./bootstrap && gmake && gmake install
make && make install
cd ncurses-5.9
./configure && make && make install
#安装mysql
2-2、#首先,创建mysql用户、组
groupadd mysql
useradd -r -g mysql mysql
mkdir -p /usr/local/mysql #软件安装目录
mkdir -p /usr/local/mysql/data #数据仓库目录
进入安装目录并安装:
cd mysql-5.6.24
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\
-DMYSQL_DATADIR=/data/mysql/data\
-DSYSCONFDIR=/etc\
-DWITH_MYISAM_STORAGE_ENGINE= \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_MEMORY_STORAGE_ENGINE= \
-DWITH_READLINE= \
-DMYSQL_UNIX_ADDR=/tmp/mysql/mysql.sock \
-DMYSQL_TCP_PORT= \
-DENABLED_LOCAL_INFILE= \
-DWITH_PARTITION_STORAGE_ENGINE= \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci make && make install
解读:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #软件安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据仓库目录
-DSYSCONFDIR=/etc \ #my.cnf路径
-DWITH_MYISAM_STORAGE_ENGINE= \ #支持MyIASM引擎
-DWITH_INNOBASE_STORAGE_ENGINE= \ #支持InnoDB引擎
-DWITH_MEMORY_STORAGE_ENGINE= \ #支持Memory引擎
-DWITH_READLINE= \ #快捷键功能(我没用过)
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径
-DMYSQL_TCP_PORT= \ #端口
-DENABLED_LOCAL_INFILE= \ #允许从本地导入数据
-DWITH_PARTITION_STORAGE_ENGINE= \ #安装支持数据库分区
-DEXTRA_CHARSETS=all \ #安装所有的字符集
-DDEFAULT_CHARSET=utf8 \ #默认字符
-DDEFAULT_COLLATION=utf8_general_ci
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql
(2)、#copy配置文件,针对不同版本,5.6用下面一行
# cp support-files/my-medium.cnf /usr/local/mysql/my.cnf
cp /usr/local/mysql/support-files/my-default.cnf /usr/local/mysql/my.cnf
(3)、 #更改权限
chown -R mysql:mysql /usr/local/mysql
(4)、vim /usr/local/mysql/my.cnf #修改文件,添加以下内容:
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/mysql_error.log
pid-file = /usr/local/mysql/mysql.pid
user = mysql
tmpdir = /tmp
(5)、添加到引导程序中:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
然后即可手工启动
/etc/init.d/mysqld start ##或者 service mysqld start
注意:设置开机启动:
chkconfig --add mysql ##有的系统需要下面的 chkconfig --level mysql on
(6)、简化调用过程,设置密码,为方便调用,添加一个软连接:
ln -s /usr/local/mysql/bin/mysql /usr/bin/
设定一个密码
#mysql #默认是空密码,用这个命令就可以启动数据库
mysql> SET PASSWORD = PASSWORD('');
# mysql -u root -p
# ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql/ \
--with-libxml-dir=/usr/local/libxml2/ \
--with-png-dir=/usr/local/libpng/ \
--with-jpeg-dir=/usr/local/jpeg9/ \
--with-freetype-dir=/usr/local/freetype/ \
--with-gd=/usr/local/gd2/ \
--with-zlib-dir=/usr/local/zlib/ \
--with-mcrypt=/usr/local/libmcrypt/ \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-soap \
--enable-mbstring=all \
--enable-sockets # make && make install
cp php.ini-production /usr/local/php/etc/php.ini
LoadModule php5_module modules/libphp5.so #查看是否有这一行,如果PHP安装成功会有此行,否则重新安装PHP AddType application/x-httpd-php .php .php4 .php5 #添加这两行意思是以.php .php4 .php5这些扩展名结尾的文件在Apache中用php解析器解析。
AddType application/x-httpd-php .php .phtml
[root@vn~]# /usr/local/apache2/bin/apachectl stop
[root@vn ~]# /usr/local/apache2/bin/apachectl start
[root@vn ~]# vim /usr/local/apache2/htdocs/test.php #输入以下内容并保存
<?php
phpinfo();
?>
目前PHP的缓存插件一般有三个: APC、 eAccelerator、 XCache,但未来它们可能都会消失,因为PHP 5.5已经集成 Zend Opcache,功能和前三者相似但又有少许不同,
缓存速度据说比它们更快(注意:只是据说,我没测试过)。
php5.5以后版本编译eAccelerator报错如下:
eaccelerator.c:66:23: error: php_logos.h: No such file or directory
究其原因是PHP5.5以下版本有php_logos.c,php_logos.h等文件。
如果想在新版本继续用加速,目前知道是的php自带扩展 opcache。
操作如下:
cd /usr/local/src/php_pack/php-5.5. /ext/opcache /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install
修改配置文件# vim /usr/local/php/etc/php.ini 在最后加入
zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-/opcache.so
opcache.memory_consumption=
opcache.interned_strings_buffer=
opcache.max_accelerated_files=
opcache.revalidate_freq=
opcache.fast_shutdown=
opcache.enable_cli=
pear peardev pecl phar phar.phar php php-cgi php-config phpize
[root@vn ~]# cd /usr/local/src/
[root@vn src]# wget http://curl.haxx.se/download/curl-7.43.0.tar.gz
Configuring for:
PHP Api Version: 20121113
Zend Module Api No: 20121212
Zend Extension Api No: 220121212
[root@kn curl]# pwd
/usr/local/src/php_pack/php-5.5./ext/curl
[root@kn curl]# ls
config.m4 config.w32 CREDITS curl.dsp curl_file.c interface.c multi.c package.xml php_curl.h share.c tests
[root@kn curl]# /usr/local/php/bin/phpize 即可 OK
; ... or with a path:
;
; extension=/path/to/extension/msql.so
;
extension=curl.so
[PHP Modules]
Core
ctype
curl
date
dom
ereg
fileinfo
filter
gd
hash
iconv
json
libxml
mbstring
mcrypt
mysql
mysqli
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
soap
sockets
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib [Zend Modules]
# /usr/local/apache2/bin/apachectl stop
# /usr/local/apache2/bin/apachectl start
<?php
echo phpinfo();
?>
cd phpMyAdmin-4.4.-all-languages
cp config.sample.inc.php config.inc.php #配置文件
cp -a phpMyAdmin-4.4.-all-languages /usr/local/apache2/htdocs/myadmin #复制到指定目录,并更名
wget https://download.suhosin.org/suhosin-0.9.38.tar.gz
tar zxvf suhosin-0.9..tar.gz
cd suhosin-0.9.
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20121212/ "
extension="suhosin.so"
部署lamp服务器的更多相关文章
- 部署LAMP+NFS实现双Web服务器负载均衡
一.需求分析 1.前端需支持更大的访问量,单台Web服务器已无法满足需求了,则需扩容Web服务器: 2.虽然动态内容可交由后端的PHP服务器执行,但静态页面还需要Web服务器自己解析,那是否意味着多台 ...
- 云服务器 ECS > 建站教程 > 部署 LAMP (CentOS 7.2 ,Apache版本:2.4.23, Mysql 版本:5.7.17 , Php版本:7.0.12)
云服务器 ECS > 建站教程 > 部署 LAMP (CentOS 7.2) 部署 LAMP (CentOS 7.2) 文档提供方:上海驻云信息科技有限公司 更新时间:2017-06 ...
- 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)
阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...
- thinkphp5部署到LAMP服务器显示Access denied.
问题:thinkphp5部署到LAMP服务器,首页正常访问,其余页面访问显示Access denied 解决:1.先把文件夹权限改为777 2. 进入服务器,改文件.将php.ini的值改成1
- AWS EC2中部署Apache服务器(LAMP)
关键词: 1.新建aws ec2实例 2.使用putty连接到aws ec2 实例(SSH协议) 3.使用filezilla连接到aws ec2实例(SFTP协议) 4.在aws ec2上部署apac ...
- mint上部署lamp环境
不得不说现在在linux mint上部署lamp很方便,比windows服务器上的asp.net的部署升级都简单. 1 安装MySql sudo apt-get install mysql-serve ...
- 将网站部署到服务器上出现_STORAGE_WRITE_ERROR_问题
用的thinkphp3.2的框架,在本地运行没有问题,部署到服务器上(基于centos的LAMP环境)即报错,报错信息如下(完全看不懂...):求大神帮帮忙~~~~(>_<)~~~~ :( ...
- CentOS6系统编译部署LAMP(Linux, Apache, MySQL, PHP)环境
我们一般常规的在Linux服务器中配置WEB系统会用到哪种WEB引擎呢?Apache还是比较常用的引擎之一.所以,我们在服务器中配置LAMP(Linux, Apache, MySQL, PHP)是我们 ...
- rhel6+apache2.4+mysql5.7+php5.6部署LAMP架构
rhel6+apache2.4+mysql5.7+php5.6部署LAMP架构 2017年10月01日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~准备阶段~~~~~~~~~~~~~ ...
随机推荐
- java设计模式(六) 命令模式
[命令模式]将"请求"封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象,命令模式也支持可撤销的操作. 1,定义命令接口 package com.pattern.comm ...
- Shell脚本_位置参数和预定义参数
一.位置参数变量 1.输出两个输入参数之和 l1.sh 1 2 3 4 5 6 7 8 9 #!/bin/bash num1=$1 num2=$2 sum=$((num1+num2)) # ...
- LRU设计
list是双向链表,map保存key对应到list中的迭代器的位置,list保存<key,value> class LRUCache{ public: LRUCache(int capac ...
- bootstarp风格的toggle效果分享
最近在写项目的时候想要一个这样的效果: 我知道这个效果在 flat-ui中有, 但是我又不想引用一整个flat-ui; 这个效果依赖html5的transition, 所以浏览器兼容成问题: 从fla ...
- poj3294 出现次数大于n/2 的公共子串
Life Forms Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 13063 Accepted: 3670 Descr ...
- Java字符串面试(二)
先看下面2个程序 public static void main(String[] args) { String a = "a1"; String b = "a" ...
- 细说new与malloc的10点区别
前言 几个星期前去面试C++研发的实习岗位,面试官问了个问题: new与malloc有什么区别? 这是个老生常谈的问题.当时我回答new从自由存储区上分配内存,malloc从堆上分配内存:new/de ...
- linux软件包的安装和卸载
这里分两种情况讨论:二进制包和源代码包. 一.linux二进制分发软件包的安装和卸载 Linux软件的二进制分发是指事先已编译好二进制形式的软件包的发布形式,其长处是安装使用容易,缺点则是缺乏灵活性, ...
- Leetcode Find K Pairs with smallest sums
本题的特点在于两个list nums1和nums2都是已经排序好的.本题如果把所有的(i, j)组合都排序出来,再取其中最小的K个.其实靠后的很多组合根本用不到,所以效率较低,会导致算法超时.为了简便 ...
- 【BZOJ-4310】跳蚤 后缀数组 + ST表 + 二分
4310: 跳蚤 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 180 Solved: 83[Submit][Status][Discuss] De ...