Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案.
本实验采用64位CentOS6.8进行部署,系统最小化安装,apache选用httpd-2.4.7,mysql选用mysql-5.6.32,php选用php-5.6.26。
1、安装虚拟机(CentOS6.8最小化安装)[安装过程不做说明]
2、修改为静态ip(由于是最小化安装,所以暂时还没有vim等命令)
[root@LINUX-LAMP ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=eno16777736
UUID=a423480d-e96c-4f17-98d1-dccb0a675e1d
DEVICE=eno16777736
ONBOOT=yes
IPADDR=192.168.2.42
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=202.96.134.133
DNS2=202.96.154.8
保存退出,重启网络服务,可以通过ifconfig或者ip a查看
另外请注意自己的ip和网关,dns有没有问题,确保一次性成功,
我这里坐标深圳,所以dns服务器我写的这边。大家可以根据自己的坐标搜索对应的dns服务器。
[root@LINUX-LAMP ~]# service network restart [root@LINUX-LAMP ~]# ifconfig
3、永久修改主机名(这里只是方便我区分实验项目,大家根据需求,若没必要可不改)
[root@LINUX-LAMP ~]# vim /etc/sysconfig/network #修改HOSTNAME=localhost.localdomain(如果是默认的话),修改localhost.localdomain为你的主机名。 [root@LINUX-LAMP ~]# vim /etc/hosts #修改127.0.0.1 localhost.localdomain localhost 。其中 127.0.0.1 是本地环路地址, localhost.localdomain 是主机名(hostname),也就是你待修改的。 #localhost 是主机名的别名(alias),它会出现在Konsole的提示符下。将localhost.localdomain修改为你的主机名,localhost可选。 [root@LINUX-LAMP ~]# hostname LINUX-LAMP
注意:不必重启。上面的命令会立即修改内核主机名。退出并重新登入shell后在命令行提示即可看到新主机名已经改为LINUX-LAMP。
4、编译及其他工具安装
安装gcc、vim、 net-tools(包含ifconfig和netstat等命令)等工具,gcc为部署过程中需要调用的编译工具,非常重要,必须安装。
依次安装gcc,vim,screen,lrzsz等可能用到的常用工具。
[root@LINUX-LAMP ~]# yum -y install gcc gcc-c++ vim screen lrzsz net-tools wget curl unzip zip dos2unix
注意:系统安装完成后,自带的yum源为官方yum源,无需修改可直接使用。
提示:若系统无法使用自带yum源,请自行百度搜索其他的yum源,修改yum配置文件既可。常用的有搜狐的,阿里的,网易的等。
5、上传源码包
[root@LINUX-LAMP ~]# cd /usr/local/src [root@LINUX-LAMP ~]# rz
然后选择所需上传的源码包上传即可。
当然也可以采用winscp这类软件上传源码包(图形化界面)。
#关于rz,sz,是lrzsz里面的两个命令,有疑问者请自行搜索lrzsz使用方法。
建议:将所有源码包放在此路径下面,也可根据个人习惯存放。
6:解压所有的源码包
建议:由于大部分为tar.gz格式,可直接使用以下脚本一次性全部解压。
若个别源码包格式不是tar.gz,若报错,无需理会,查看没有解压的包,手动单个解压即可。
[root@LINUX-LAMP ~]# for i in `ls /usr/local/src/`;do tar -zxf $i;done
1、安装OpenSSL
[root@LINUX-LAMP src]# cd /usr/local/src/openssl-1.0.2j [root@LINUX-LAMP openssl-1.0.2j]# ./config --prefix=/usr/local/openssl shared [root@LINUX-LAMP openssl-1.0.2j]# make && make install 修改:此步骤非常重要,至少对于现有的软件版本,修改之后执行/sbin/ldconfig [root@LINUX-LAMP openssl-1.0.2j]# vi /etc/ld.so.conf 添加一行/usr/local/openssl/lib/ [root@LINUX-LAMP openssl-1.0.2j]# /sbin/ldconfig
2、安装Curl库
[root@LINUX-LAMP src]# cd /usr/local/src/curl-7.50.3 [root@LINUX-LAMP openssl-1.0.2j]# ./configure --prefix=/usr/local/curl [root@LINUX-LAMP curl-7.50.3]# make && make install
3、安装expat
[root@LINUX-LAMP src]# cd /usr/local/src/expat-2.2.0 [root@LINUX-LAMP expat-2.2.0]# ./configure --prefix=/usr/local/expat [root@LINUX-LAMP expat-2.2.0]# make && make install
4、安装libxml2
[root@LINUX-LAMP src]# cd /usr/local/src/libxml2-2.9.4 [root@LINUX-LAMP libxml2-2.9.4]# rpm -qa | grep python-devel #查询是否安装python-devel,若无,请务必执行下面命令安装 [root@LINUX-LAMP libxml2-2.9.4]# yum -y install python-devel #安装python-devel [root@LINUX-LAMP libxml2-2.9.4]# ./configure --prefix=/usr/local/libxml2/ root@LINUX-LAMP libxml2-2.9.4]# make && make install
5、安装libxslt
[root@LINUX-LAMP src]# cd /usr/local/src/libxslt-1.1.29 [root@LINUX-LAMP libxslt-1.1.29]# ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2 [root@LINUX-LAMP libxslt-1.1.29]# make && make install
6、安装libmcrypt
[root@LINUX-LAMP src]# cd /usr/local/src/libmcrypt-2.5.8
[root@LINUX-LAMP libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt
checking for C++ compiler default output file name... configure: error: C++ compiler cannot create executables
See `config.log' for more details.
若有此报错:提示没有gcc-c++,安装即可,安装之后再重新编译安装。
[root@LINUX-LAMP libmcrypt-2.5.8]# yum -y install gcc-c++ [root@LINUX-LAMP libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt [root@LINUX-LAMP libmcrypt-2.5.8]# make && make install
# 安装libltdl,也在libmcrypt源码目录中,非新软件
[root@LINUX-LAMP libmcrypt-2.5.8]# cd /usr/local/src/libmcrypt-2.5.8/libltdl [root@LINUX-LAMP libltdl]# ./configure --enable-ltdl-install [root@LINUX-LAMP libltdl]# make && make install
7、安装mhash
[root@LINUX-LAMP src]# cd /usr/local/src/mhash-0.9.9.9 [root@LINUX-LAMP mhash-0.9.9.9]# ./configure --prefix=/usr/local/mhash [root@LINUX-LAMP mhash-0.9.9.9]# make && make install
8、安装mcrypt(两种方法,任选一种)
[root@LINUX-LAMP src]# cd /usr/local/src/mcrypt-2.6.8
8.1、如果mhash没有指定安装目录,而采用默认安装请使用如下命令
[root@LINUX-LAMP mcrypt-2.6.8]# LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib \ ./configure --with-libmcrypt-prefix=/usr/local/libmcrypt #两行为一条命令,其中 \ 表示一行未结束,换行的意思 [root@LINUX-LAMP mcrypt-2.6.8]# make && make install > /root/mcrypt-1.install.log #将安装日志记录下来,如果以后需要删除该软件的话,可以对着日志去看安装的时候都生成了哪些文件,然后对照着删除。
8.2、由于上面我们的mhash指定了安装目录,没有采用默认安装,这里会有如下报错:
configure: error: "You need at least libmhash 0.8.15 to compile this program. http://mhash.sf.net/"
[root@LINUX-LAMP mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/mhash/lib
[root@LINUX-LAMP mcrypt-2.6.8]# export LDFLAGS="-L/usr/local/mhash/lib/ -I/usr/local/mhash/include/"
[root@LINUX-LAMP mcrypt-2.6.8]# export CFLAGS="-I/usr/local/mhash/include/"
[root@LINUX-LAMP mcrypt-2.6.8]# ./configure --with-libmcrypt-prefix=/usr/local/libmcrypt
[root@LINUX-LAMP mcrypt-2.6.8]# make && make install > /root/mcrypt-1.install.log
#将安装日志记录下来,如果以后需要删除该软件的话,可以对着日志去看安装的时候都生成了哪些文件,然后对照着删除。
9、安装zlib
[root@LINUX-LAMP src]# cd /usr/local/src/zlib-1.2.8 [root@LINUX-LAMP zlib-1.2.8]# ./configure --prefix=/usr/local/zlib/ [root@LINUX-LAMP zlib-1.2.8]# make && make install
10、安装libpng
[root@LINUX-LAMP libpng-1.6.25]# cd /usr/local/src/libpng-1.6.25
[root@LINUX-LAMP libpng-1.6.25]# ./configure --prefix=/usr/local/libpng
报错如下:
configure: error: zlib not installed
提示我们zlib没有安装,但是实际上,我们在上面已经安装了,也没有任何错误。
后来发现原来只要把编译好的libz.so.1.2.X指向/lib/libz.so即可,
因为编译的需要,对于头文件也需要软链接到/usr/include. 然后重新编译。
[root@LINUX-LAMP libpng-1.6.25]# ln -s /usr/local/zlib/lib/libz.so.1.2.8 /lib/libz.so
[root@LINUX-LAMP libpng-1.6.25]# ln -s /usr/local/zlib/include/* /usr/include
[root@LINUX-LAMP libpng-1.6.25]# ./configure --prefix=/usr/local/libpng
[root@LINUX-LAMP libpng-1.6.25]# make && make install
11、安装jpeg
[root@LINUX-LAMP src]# cd /usr/local/src/jpeg-9b [root@LINUX-LAMP jpeg-9b]# ./configure --prefix=/usr/local/jpeg/ --enable-shared --enable-static [root@LINUX-LAMP jpeg-9b]# make && make install 特别注意:如果是安装jpeg的老版本,安装的时候不会自己创建以下目录,如果提示目录不存在,请手工创建 ------------------------------------------------------------------ | [root@LINUX-LAMP jpeg-9b]# mkdir /usr/local/jpeg | | [root@LINUX-LAMP jpeg-9b]# mkdir /usr/local/jpeg/bin | | [root@LINUX-LAMP jpeg-9b]# mkdir /usr/local/jpeg/lib | | [root@LINUX-LAMP jpeg-9b]# mkdir /usr/local/jpeg/include | | [root@LINUX-LAMP jpeg-9b]# mkdir -p /usr/local/jpeg/man/man1 | ------------------------------------------------------------------
12、安装freetype
[root@LINUX-LAMP src]# cd /usr/local/src/freetype-2.7 [root@LINUX-LAMP freetype-2.7]# ./configure --prefix=/usr/local/freetype/ --with-png=/usr/local/libpng/ --with-zlib=/usr/local/zlib/ [root@LINUX-LAMP freetype-2.7]# make && make install
13、安装m4
[root@LINUX-LAMP src]# cd /usr/local/src/m4-1.4.17 [root@LINUX-LAMP m4-1.4.17]# ./configure [root@LINUX-LAMP m4-1.4.17]# make && make install > /root/m4.install.log
14、安装autoconf (如果嫌麻烦,直接yum得了 # yum -y install autoconf)
报错如下:请执行第13步,先安装m4
checking for GNU M4 that supports accurate traces... configure: error: no acceptable m4 could be found in $PATH.
[root@LINUX-LAMP src]# cd /usr/local/src/autoconf-2.69 [root@LINUX-LAMP autoconf-2.69]# ./configure [root@LINUX-LAMP autoconf-2.69]# make
若make报错如下:请执行 yum -y groupinstall perl* ,然后重新编译安装
Compilation failed in require at ../bin/autom4te line 37.
[root@LINUX-LAMP autoconf-2.69]# yum -y groupinstall perl*
[root@LINUX-LAMP autoconf-2.69]# make clean #删除之前make生成的文件
[root@LINUX-LAMP autoconf-2.69]# ./configure
[root@LINUX-LAMP autoconf-2.69]# make
[root@LINUX-LAMP autoconf-2.69]# make install > /root/autoconf.install.log
#将安装日志记录下来,如果以后需要删除该软件的话,可以对着日志去看安装的时候都生成了哪些文件,然后对照着删除。
15、安装libiconv
[root@LINUX-LAMP src]# cd /usr/local/src/libiconv-1.14 [root@LINUX-LAMP libiconv-1.14]# ./configure --prefix=/usr/local/libiconv [root@LINUX-LAMP libiconv-1.14]# make
./stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function)
若make有上面报错:请按如下操作修改
解决方法:修改/usr/local/src/libiconv-1.14/srclib/stdio.in.h文件第698行
[root@LINUX-LAMP libiconv-1.14]# vim /usr/local/src/libiconv-1.14/srclib/stdio.in.h +698
将
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
替换为
#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16) _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); #endif
修改完之后,然后再重新编译安装即可。
[root@LINUX-LAMP libiconv-1.14]# make clean #删除之前make生成的文件 [root@LINUX-LAMP libiconv-1.14]# ./configure --prefix=/usr/local/libiconv [root@LINUX-LAMP libiconv-1.14]# make && make install
16、安装bzip2
[root@LINUX-LAMP src]# cd /usr/local/src/bzip2-1.0.6 [root@LINUX-LAMP bzip2-1.0.6]# make -f Makefile-libbz2_so [root@LINUX-LAMP bzip2-1.0.6]# make install PREFIX=/usr/local/bzip2
17、安装GD库
[root@LINUX-LAMP src]# cd /usr/local/src/libgd-2.1.1 [root@LINUX-LAMP libgd-2.1.1]# ./configure --prefix=/usr/local/gd2/ \ --with-jpeg=/usr/local/jpeg/ \ --with-freetype=/usr/local/freetype/ \ --with-png=/usr/local/libpng/ \ --with-zlib=/usr/local/zlib/ [root@LINUX-LAMP libgd-2.1.1]# make && make install小结:基础支持包就安装到这里,后面将进入正式环节安装apache,mysql,php了,底层支持包都是为了安装后面的这些做准备的。
18、安装apr
[root@LINUX-LAMP src]# cd /usr/local/src/apr-1.5.2 [root@LINUX-LAMP apr-1.5.2]# ./configure --prefix=/usr/local/apr/ [root@LINUX-LAMP apr-1.5.2]# make && make install
19、安装apr-util
[root@LINUX-LAMP src]# cd /usr/local/src/apr-util-1.5.4 [root@LINUX-LAMP apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr/ [root@LINUX-LAMP apr-util-1.5.4]# make && make install
20、安装pcre
[root@LINUX-LAMP src]# cd /usr/local/src/pcre-8.38 [root@LINUX-LAMP pcre-8.38]# ./configure --prefix=/usr/local/pcre/ [root@LINUX-LAMP pcre-8.38]# make && make install
21、安装apache
[root@LINUX-LAMP src]# cd /usr/local/src/httpd-2.4.7 [root@LINUX-LAMP httpd-2.4.7]# ./configure --prefix=/usr/local/apache2 \ --sysconfdir=/usr/local/apache2/etc/ \ --enable-so \ --enable-rewrite \ --enable-ssl \ --enable-cgi \ --enable-cgid \ --enable--modules=most \ --enable-mods-shared=most \ --enable-mpms-shared=all \ --enable-deflate=shared \ --enable-expires=shared \ --enable-rewrite=shared \ --with-apr=/usr/local/apr/ \ --with-apr-util=/usr/local/apr-util/ \ --with-pcre=/usr/local/pcre/ \ --with-ssl=/usr/local/openssl/ \ --with-z=/usr/local/zlib/ [root@LINUX-LAMP httpd-2.4.7]# make && make install 启动apache服务。(注意防火墙,打开80端口或者关闭防火墙服务) [root@LINUX-LAMP httpd-2.4.7]# /usr/local/apache2/bin/apachectl start 访问http://192.168.2.42 访问成功,说明安装apache已经提供服务,没有问题。 [root@LINUX-LAMP httpd-2.4.7]# /usr/local/apache2/bin/apachectl stop
18、处理apr
[root@LINUX-LAMP src]# cp -r /usr/local/src/apr-1.5.2 /usr/local/src/httpd-2.4.7/srclib/apr
19、处理apr-util
[root@LINUX-LAMP src]# cp -r /usr/local/src/apr-util-1.5.4 /usr/local/src/httpd-2.4.7/srclib/apr-util
20、安装pcre
[root@LINUX-LAMP src]# cd /usr/local/src/pcre-8.38 [root@LINUX-LAMP pcre-8.38]# ./configure --prefix=/usr/local/pcre/ [root@LINUX-LAMP pcre-8.38]# make && make install
21、安装apache(apr和apr-util会随着apache的安装一起安装)
[root@LINUX-LAMP src]# cd /usr/local/src/httpd-2.4.7 [root@LINUX-LAMP httpd-2.4.7]# ./configure --prefix=/usr/local/apache2 \ --sysconfdir=/usr/local/apache2/etc/ \ --with-included-apr \ --enable-so \ --enable-rewrite \ --enable-ssl \ --enable-cgi \ --enable-cgid \ --enable--modules=most \ --enable-mods-shared=most \ --enable-mpms-shared=all \ --enable-deflate=shared \ --enable-expires=shared \ --enable-rewrite=shared \ --with-pcre=/usr/local/pcre/ \ --with-ssl=/usr/local/openssl/ \ --with-z=/usr/local/zlib/ [root@LINUX-LAMP httpd-2.4.7]# make && make install 启动apache服务。(注意防火墙,打开80端口或者关闭防火墙服务) [root@LINUX-LAMP httpd-2.4.7]# /usr/local/apache2/bin/apachectl start 访问http://192.168.2.42 访问成功,说明安装apache已经提供服务,没有问题。 [root@LINUX-LAMP httpd-2.4.7]# /usr/local/apache2/bin/apachectl stop
[root@LINUX-LAMP src]# echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.local #开机自启动
[root@LINUX-LAMP src]# /usr/local/apache2/bin/apachectl start #开启服务
[root@LINUX-LAMP src]# /usr/local/apache2/bin/apachectl stop #关闭服务
检查服务是否开启
ps -aux | grep httpd
netstat -ultn | grep 80
杀掉进程
kill -9 "进程id"
pkill httpd
关于kill、pkill、killall的区别和用法,建议到http://man.linuxnb.com进行查询了解。
[root@LINUX-LAMP httpd-2.4.7]# cp /usr/local/src/httpd-2.4.7/build/rpm/httpd.init /etc/init.d/httpd #复制启动脚本 [root@LINUX-LAMP httpd-2.4.7]# sed -i 's#HTTPD-/usr/sbin/httpd#HTTPD-/usr/local/apache2/bin/httpd#g' /etc/init.d/httpd #将/etc/init.d/httpd文件里面 HTTPD-/usr/sbin/httpd 全部替换为 HTTPD-/usr/local/apache2/bin/httpd [root@LINUX-LAMP httpd-2.4.7]# sed -i 's#CONFFILE=/etc/httpd/conf/httpd.conf#CONFFILE=/usr/local/apache2/etc/httpd.conf#g' /etc/init.d/httpd [root@LINUX-LAMP httpd-2.4.7]# sed -i '/ServerRoot "\/usr\/local\/apache2"/a\PidFile "\/var\/run\/httpd.pid"' /usr/local/apache2/etc/httpd.conf #在匹配到的行下面添加 PidFile "/var/run/httpd.pid 可参考http://man.linuxnb.com/sed 里面的 a\ 选项 [root@LINUX-LAMP httpd-2.4.7]# sed -i '/#ServerName www.example.com:80/a\ServerName localhost:80' /usr/local/apache2/etc/httpd.conf #添加ServerName,解决启动解析报错问题。 [root@LINUX-LAMP httpd-2.4.7]# chkconfig --add httpd [root@LINUX-LAMP httpd-2.4.7]# chkconfig --level 235 httpd on [root@LINUX-LAMP httpd-2.4.7]# echo 'export PATH=$PATH:/usr/local/apache2/bin' > /etc/profile.d/httpd.sh [root@LINUX-LAMP httpd-2.4.7]# source /etc/profile.d/httpd.sh [root@LINUX-LAMP httpd-2.4.7]# service httpd start|stop|restart|condrestart|reload|status|graceful|help|configtest 防火墙开放80端口 [root@LINUX-LAMP httpd-2.4.7]# iptables -I INPUT -m tcp -p tcp --dport 80 -j ACCEPT [root@LINUX-LAMP httpd-2.4.7]# service iptables save [root@LINUX-LAMP httpd-2.4.7]# service iptables reload
22、安装cmake
[root@LINUX-LAMP src]# cd /usr/local/src/cmake-3.6.2 [root@LINUX-LAMP cmake-3.6.2]# ./configure --prefix=/usr/local/cmake/ [root@LINUX-LAMP cmake-3.6.2]# make && make install #cmake安装完成之后需要执行以下命令,否则会提示-bash: cmake: command not found [root@LINUX-LAMP cmake-3.6.2]# export PATH=/usr/local/cmake/bin:$PATH
23、安装bison(如果有关于m4的报错,请执行13步,安装m4)
[root@LINUX-LAMP src]# cd /usr/local/src/bison-3.0.4 [root@LINUX-LAMP bison-3.0.4]# ./configure [root@LINUX-LAMP bison-3.0.4]# make && make install > /root/bison.install.log
24、安装ncurses
[root@LINUX-LAMP src]# cd /usr/local/src/ncurses-6.0 [root@LINUX-LAMP ncurses-6.0]# ./configure --with-shared --without-debug --without-ada --enable-overwrite [root@LINUX-LAMP ncurses-6.0]# make [root@LINUX-LAMP ncurses-6.0]# make install > /root/ncurses.install.log
25、安装MySQL
[root@LINUX-LAMP src]# cd mysql-5.6.32 [root@LINUX-LAMP mysql-5.6.32]# groupadd mysql [root@LINUX-LAMP mysql-5.6.32]# useradd -g mysql mysql [root@LINUX-LAMP mysql-5.6.32]# mkdir -p /usr/local/mysql [root@LINUX-LAMP mysql-5.6.32]# mkdir -p /data/mysqldb [root@LINUX-LAMP mysql-5.6.32]# cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/data/mysqldb \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DMYSQL_TCP_PORT=3306 \ -DENABLE_DOWNLOADS=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_USER=mysql [root@LINUX-LAMP mysql-5.6.32]# make -j4 #使用4颗cpu同时进行编译,如果cpu资源不够可以不加 [root@LINUX-LAMP mysql-5.6.32]# make install 出现错误需要删除CMakeCache.txt,才能再次cmake,而不是make clean命令 [root@LINUX-LAMP mysql-5.6.32]# cd /usr/local/mysql [root@LINUX-LAMP mysql]# chown -R mysql:mysql . #或者[chown -R mysql .] + [chgrp -R mysql .] [root@LINUX-LAMP mysql]# cd /data/mysqldb [root@LINUX-LAMP mysqldb]# chown -R mysql:mysql . #或者[chown -R mysql .] + [chgrp -R mysql .] [root@LINUX-LAMP mysqldb]# cd /usr/local/mysql [root@LINUX-LAMP mysql]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb [root@LINUX-LAMP mysql]# chown -R root . [root@LINUX-LAMP mysql]# \cp -f /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf [root@LINUX-LAMP mysql]# echo 'export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib' > /etc/profile.d/mysql.sh [root@LINUX-LAMP mysql]# source /etc/profile.d/mysql.sh
[root@LINUX-LAMP mysql]# echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.local #开机自启动
[root@LINUX-LAMP mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql & #开启服务
[root@LINUX-LAMP mysql]# /usr/local/mysql/bin/mysql #登录到mysql终端(刚安装完可以这样登录)
[root@LINUX-LAMP mysql]# /usr/local/mysql/bin/mysqladmin -uroot password 123456
#设置mysql数据库里面root用户对应的密码为123456,注意,大家的密码就不要设置的这么简单
[root@LINUX-LAMP mysql]# history -C #清空历史命令
检查服务是否开启
ps -aux | grep httpd
netstat -ultn | grep 80
杀掉进程
[root@LINUX-LAMP mysql]# ps -ef | grep mysqld
[root@LINUX-LAMP mysql]# kill -9 "进程id"
[root@LINUX-LAMP mysql]# pkill mysqld
[root@LINUX-LAMP mysql]# 关于kill、pkill、killall的区别和用法,建议到http://man.linuxnb.com进行查询了解。
[root@LINUX-LAMP mysql]# \cp -f /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld [root@LINUX-LAMP mysql]# service mysqld start|stop|restart|reload|status|force-reload [root@LINUX-LAMP mysql]# chkconfig --level 35 mysqld on 防火墙开放3306端口 [root@LINUX-LAMP mysql]# iptables -I INPUT -m tcp -p tcp --dport 3306 -j ACCEPT [root@LINUX-LAMP mysql]# service iptables save [root@LINUX-LAMP mysql]# service iptables reload [root@LINUX-LAMP mysql]# netstat -tulnp | grep 3306 检查服务是否开启 ps -aux | grep httpd netstat -ultn | grep 3306
26、安装php
在编译安装php之前,确保系统已经安装了libtool和libtool-ltdl软件包。 [root@LINUX-LAMP src]# yum -y install libtool* [root@LINUX-LAMP src]# yum -y install libtool-ltdl* 安装以FastCGI模式安装即[新版标示为这个 --enable-fpm] 添加运行php-fpm服务的用户以及用户组 [root@LINUX-LAMP php-5.6.26]# groupadd fpmuser [root@LINUX-LAMP php-5.6.26]# useradd -g fpmuser fpmuser [root@LINUX-LAMP php-5.6.26]# ./configure --prefix=/usr/local/php \ --with-config-file-path=/etc \ --with-config-file-scan-dir=/etc/php.d \ --enable-sockets \ --enable-ftp \ --enable-fpm \ --with-fpm-user=fpmuser \ --with-fpm-group=fpmuser \ --enable-mbstring \ --enable-xml \ --enable-soap \ --with-mysql=/usr/local/mysql \ --with-pdo-mysql=/usr/local/mysql \ --with-mysqli=/usr/local/mysql/bin/mysql_config \ --with-openssl-dir=/usr/local/openssl \ --with-curl=/usr/local/curl \ --with-libexpat-dir=/usr/local/expat \ --with-libxml-dir=/usr/local/libxml2 \ --with-xsl=/usr/local/libxslt \ --with-mcrypt=/usr/local/libmcrypt \ --with-mhash=/usr/local/mhash \ --with-zlib-dir=/usr/local/zlib \ --with-png-dir=/usr/local/libpng \ --with-jpeg-dir=/usr/local/jpeg \ --with-freetype-dir=/usr/local/freetype \ --with-iconv-dir=/usr/local/libiconv \ --with-bz2=/usr/local/bzip2 \ --with-gd=/usr/local/gd2 \ --with-pcre-dir=/usr/local/pcre \ --with-xpm-dir=/usr/lib \ --disable-ipv6 [root@LINUX-LAMP php-5.6.26]# make [root@LINUX-LAMP php-5.6.26]# make install 报错如下 /usr/local/src/php-5.6.26/ext/gd/gd.c:57:22: 错误:X11/xpm.h:没有那个文件或目录 make: *** [ext/gd/gd.lo] 错误 1 [root@LINUX-LAMP php-5.6.26]# yum -y install libXpm-devel 在查询他的安装位置: [root@LINUX-LAMP php-5.6.26]# rpm -ql libXpm-devel /usr/bin/cxpm /usr/bin/sxpm /usr/include/X11/xpm.h /usr/lib64/libXpm.so /usr/lib64/pkgconfig/xpm.pc /usr/share/man/man1/cxpm.1.gz /usr/share/man/man1/sxpm.1.gz 在php编译参数加上 --with-xpm-dir=/usr/lib ,然后重新编译, [root@LINUX-LAMP php-5.6.26]# \cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf [root@LINUX-LAMP php-5.6.26]# \cp /usr/local/src/php-5.6.26/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm [root@LINUX-LAMP php-5.6.26]# chmod 755 /etc/init.d/php-fpm [root@LINUX-LAMP php-5.6.26]# chkconfig --level 35 php-fpm on [root@LINUX-LAMP php-5.6.26]# \cp /usr/local/src/php-5.6.26/php.ini-production /etc/php.ini [root@LINUX-LAMP php-5.6.26]# service php-fpm start|stop|force-quit|restart|reload|status 检查服务是否开启 ps -aux | grep php-fpm netstat -ultn | grep 9000 特别注意: 如果本机有安装mysql,则应该这样写 --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql \ --with-mysqli=/usr/local/mysql/bin/mysql_config 如果本机没有安装mysql,则应该这样写,适用于php和mysql分别在不同服务器上使用。 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd 修改apache配置文件添加php解析,再下面代码段下面添加虚线框中的两条信息。Options Indexes FollowSymLinks AllowOverride None Require all granted vim /usr/local/apache2/etc/httpd.conf ------------------------------------------------------------------------------------ | ProxyRequests Off | | ProxyPassMatch ^(/.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache2/htdocs/$1 | ------------------------------------------------------------------------------------ 添加完成之后,打开如下两行的注释。 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so 然后保存关闭,重启apache [root@LINUX-LAMP php-5.6.26]# service httpd restart 编写php测试文件,测试php解析是否成功,请确保httpd和php-fpm都已启动。 [root@LINUX-LAMP php-5.6.26]# cd /usr/local/apache2 [root@LINUX-LAMP apache2]# vim /usr/local/apache2/htdocs/index.php <?php phpinfo(); ?> 浏览器访问http://192.168.2.42/index.php,能看到php版本信息就是没问题。 编写mysql连接测试文件,请确保mysql已启动 [root@LINUX-LAMP apache2]# vim /usr/local/apache2/htdocs/mysql.php <?php $link=mysql_connect("127.0.0.1","root","123456"); if(!$link) echo "FAILD!连接错误,用户名密码不对"; else echo "OK!可以连接"; ?> 浏览器访问http://192.168.2.42/mysql.php,能看到php版本信息就是没问题。
27、安装memcached服务器端
安装libevent [root@LINUX-LAMP src]# yum -y install libevent-devel [root@LINUX-LAMP src]# cd /usr/local/src/memcached-1.4.31 [root@LINUX-LAMP memcached-1.4.31]# ./configure --prefix=/usr/local/memcached [root@LINUX-LAMP memcached-1.4.31]# make && make install [root@LINUX-LAMP memcached-1.4.31]# groupadd memcached [root@LINUX-LAMP memcached-1.4.31]# useradd -g memcached memcached [root@LINUX-LAMP memcached-1.4.31]# echo "/usr/local/memcached/bin/memcached -umemcached &" >> /etc/rc.local #开机启动 [root@LINUX-LAMP memcached-1.4.31]# /usr/local/memcached/bin/memcached -umemcached & #启动memcached服务器端 chkconfig添加memcached,将memcached交给chkconfig来管理 以下是有群友@深圳-沉醉寒风提供的启动脚本,请通过wget下载,或者右键另存为...[root@LINUX-LAMP memcached-1.4.31]# wget http://man.linuxnb.com/public/init.d/memcached.init [root@LINUX-LAMP memcached-1.4.31]# \mv memcached.init /etc/init.d/memcached [root@LINUX-LAMP memcached-1.4.31]# chmod +x /etc/init.d/memcached [root@LINUX-LAMP memcached-1.4.31]# service memcached start|stop|status|restart #接着你就可以使用这些命令实现开、关、重启 [root@LINUX-LAMP memcached-1.4.31]# chkconfig --add memcached [root@LINUX-LAMP memcached-1.4.31]# chkconfig --level 235 memcached on [root@LINUX-LAMP memcached-1.4.31]# echo 'export PATH=$PATH:/usr/local/memcached/bin' > /etc/profile.d/memcached.sh [root@LINUX-LAMP memcached-1.4.31]# source /etc/profile.d/memcached.sh [root@LINUX-LAMP memcached-1.4.31]# service memcached start|stop|restart|status 检查服务是否开启 ps -aux | grep memcached netstat -ultn | grep 11211 防火墙开放11211端口 [root@LINUX-LAMP httpd-2.4.7]# iptables -I INPUT -m tcp -p tcp --dport 11211 -j ACCEPT [root@LINUX-LAMP httpd-2.4.7]# service iptables save [root@LINUX-LAMP httpd-2.4.7]# service iptables reload
28、安装php扩展功能memcache
[root@LINUX-LAMP src]# cd /usr/local/src/memcache-2.2.7 [root@LINUX-LAMP memcache-2.2.7]# yum -y install zlib-devel [root@LINUX-LAMP memcache-2.2.7]# /usr/local/php/bin/phpize [root@LINUX-LAMP memcache-2.2.7]# ./configure --with-php-config=/usr/local/php/bin/php-config [root@LINUX-LAMP memcache-2.2.7]# make && make install 请注意最后一行是否有此信息 Installing shared extensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/ 有此信息就是成功,没有即失败。 [root@LINUX-LAMP mcrypt]# vim /etc/php.ini 查找extension_dir修改为下面,并打开注释 extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/" 修改完之后再紧随其后添加下面一行 extension="memcache.so"
29、安装php扩展memcached
[root@LINUX-LAMP src]# cd /usr/local/src/memcached-2.2.0 /usr/local/php/bin/phpize ./configure --with-memcached -with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --enable-memcached make && make install 请注意最后一行是否有此信息 Installing shared extensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/ 有此信息就是成功,没有即失败。 [root@LINUX-LAMP mcrypt]# vim /etc/php.ini 查找extension_dir修改为下面,在步骤28编辑之后的地方添加如下 extension="memcached.so"
30、安装Zend加速器
[root@LINUX-LAMP src]# cd /usr/local/src/zend-loader-php5.6-linux-x86_64/ [root@LINUX-LAMP zend-loader-php5.6-linux-x86_64]# cp /usr/local/src/zend-loader-php5.6-linux-x86_64/ZendGuardLoader.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/ 由于之前我们编译的memcache.so和memcached.so都在这个路径,所以我也直接将这个ZendGuardLoader.so拷贝到这个路径了。 [root@LINUX-LAMP zend-loader-php5.6-linux-x86_64]# vim /etc/php.ini 添加如下几行即可,可以直接在之前添加memcache.so和memcached.so代码块下面添加,这样这些改动都在一起,也好排查,自己也知道大概在哪里。 zend_extension = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/ZendGuardLoader.so" zend_loader.enable = 1 zend_loader.disable_licensing = 0 zend_loader.obfuscation_level_support = 3 zend_loader.license_path =
保存退出,然后重启php-fpm服务
[root@LINUX-LAMP src]# service php-fpm restart访问http://192.168.2.42/index.php 有 with Zend Guard Loader v3.3 字样,就表示zend加速器已经加载成功。
总结:
初次接触CentOS7,很多不懂,而且systemd改动太大,这篇文章也整理了好久,测试了好几遍,希望对大家有帮助。
如果觉得本站内容对您有所帮助,请分享推荐给更多朋友。返回首页添加交流群。有错误的地方也希望大家联系指正。
部分内容由群友提供,本文原创,如果转载请说明出处,再次感谢大家的观看。