CnetOS6.8编译安装LAMP以及fcgi虚拟主机-创新互联

  纠结了好几天,还是做出来吧。LAMP这几个东西搭配起来干活,还是部署比较方便的。

在龙华等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、网站建设 网站设计制作按需求定制开发,公司网站建设,企业网站建设,品牌网站设计,成都营销网站建设,外贸网站建设,龙华网站建设费用合理。

php和httpd结合的方式有两种,一种module,即php作为httpd的一部分运行,默认安装方式就是模块方式。第二种就是fpm,可以单独运行。因为工作环境多为centos 6,所以在6上做。

安装前提示

    1.事先准备好开发环境,安装 "Development tools" "Server Platform Development"

安装顺序:1.mysql或者httpd 2.php-fpm,因为php依赖前两个程序

   

1.mysql 此处使用二进制格式包安装

    安装包:mysql-5.6.14-linux-glibc2.5-x86_64.tar

# useradd -r mysql 创建系统用户mysql,一般事先都会存在 # tar xf mysql-5.6.14-linux-glibc2.5-x86_64.tar -C /usr/local/ 解压二进制包 # cd /usr/local/  # ln -sv mysql-5.6.14-linux-x86_64 mysql 创建软链接,可以多次使用 # cd mysql # chown -R root:mysql ./* 改变mysql目录下内容用户组 # mkdir -pv /mydata/data  /mydata/data 作为mysql数据文件存放位置  # chown -R mysql.mysql /mydata/data # scripts/mysql_install_db --user=mysql --datadir=/mydata/data --skip_name_resolve # cp support-files/my-large.cnf  /etc/my.cnf 主配置文件 #  vim /etc/my.cnf       [mysqld] 编辑mysqld配置段 ....... datadir = /mydata/data skip_name_resolve = ON 阻止反解地址 innodb_file_per_table = ON 此时还不能用mysql直接登录,那就要去找可执行文件,就去bin # echo "export PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mysql.sh  # cp support-files/mysql.server  /etc/rc.d/init.d/mysqld 设置启动服务 # chkconfig --add mysqld 加入开机启动 #  service mysqld start #  ss -tnl 查看3306 是否启动

2.安装httpd-2.4

 源码包:httpd-2.4.10.tar.bz2

  apr 和 apr-util也可以编译安装

~]# yum install pcre-devel openssl-devel libevent-devel apr-devel apr-util-devel -y       安装需要的开发包,不然./configure不停的报错,缺这缺那,还不一起告知,一个一个来 # ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --enable-so  --enable-ssl --enable-cgi --enable-rewrite --enable-modules=most --enable-mpms-shared=all  --with-mpm=prefork --with-pcre --with-zlib --with-apr=/usr/local/apr  --with-apr-util=/usr/local/apr-util # make -j 4  # make install  # echo 'export PATH=/usr/local/apache2/bin:$PATH' > /etc/profile.d/httpd.sh # . /etc/profile.d/httpd.sh 把apahectl 加入PATH,每次开机就可使用 # apachectl start httpd-2.4 启动 # ss -tnl 查看80端口是否启动

附加:cp /usr/local/bin/apachectl /etc/rc.d/init.d/httpd ,可以支持stop 和start选项

--sysconfdir=/etc/httpd -->生成主配置文件

3.编译安装php5

前两部分都相同,此处可有两种方式

编译安装php5:php-5.4.40.tar.bz2

 模块安装和fpm安装使用同一个包

安装:

(1) 作为httpd的模块安装: # ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql  --with-mysqli=/usr/local/mysql/bin/mysql_config --with-openssl --enable-mbstring --enable-xml --enable-sockets --with-freetype-dir --with-gd --with-libxml-dir=/usr  --with-zlib --with-jpeg-dir --with-png-dir --with-mcrypt  --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/etc/php.ini  --with-config-file-scan-dir=/etc/php.d/ # make -j 4 # && make install    注意:如果mpm为线程模型,则需要额外使用--enable-maintainer-zts 复制配置文件: # cp php.ini-production  /etc/php.ini    编译php为httpd的模块后,整合php至httpd:   编译httpd.conf,添加:   DirectoryIndex index.php index.html   AddType application/x-httpd-php .php ************************************************************************************* ************************************************************************************* ************************************************************************************* (2) 安装为fpm:php-fpm 可以独立启动,和模块安装的区别就是加了 --enable-fpm 选项      此处坑好多: --enable-mbstring --with-mcrypt 搞了半天才装上 # ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql     --with-mysqli=/usr/local/mysql/bin/mysql_config --with-openssl --enable-mbstring --enable-xml  --enable-sockets --with-freetype-dir --with-gd --with-libxml-dir=/usr --with-zlib --with-jpeg-dir   --with-png-dir --with-mcrypt --enable-fpm --with-config-file-path=/etc/php.ini   --with-config-file-scan-dir=/etc/php.d/  # make -j 4 # && make install #  mv /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php/php-fpm.conf     php-fpm主配置文件 # /usr/local/php5/sbin/php-fpm 此处为php-fpm的服务可执行文件直接执行即可 # echo 'export PATH=/usr/local/php5/sbin/:$PATH' > /etc/profile.d/php-fpm.sh   将php-fpm路径写入环境变量 ***    # pkill php-fpm 关闭php-fpm,ss -tnl 发现9000端口没有了

    全部编译成功。可以去下一个坑玩耍受虐了。好开心

********************************************************************************

测试一下是否能正常工作,做个虚拟主机,进行下反向代理

要使用fcgi反向代理需要启用两个模块

php-fpm:FastCGI Process Manager

fpm

1.客户端请求URL到达httpd

2.httpd上的fcgi反代模块至fpm

3.fpm找资源

    静态资源

    httpd处理

动态资源

httpd中有一个fcgi模块。进行反向代理至fpm,将客户端送达的

RL从httpd转交给fpm,fpm创建子进程进行处理,

不在一台主机的情况

fpm监听动态资源所在主机

httpd监听静态资源所在主机

fcgi协议协议:

***启用httpd:proxy_module, proxy_fcgi_module,不然httpd -t 检测ProxyRequests会报错

ProxyRequests Off

ProxyPass

ProxyPassMatch ^(URL-PATTERN)$ fcgi://FCGI-SERVER:PORT/PATH/TO/DIR/$1

#vim /etc/httpd/httpd.conf #DocumentRoot 注释掉中心主机 ServerName www.lh.com:80 去掉# DirectoryIndex index.php index.html 可以识别多种后缀主页 LoadModule proxy_module modules/mod_proxy.so 去掉前面的注释#,启用这两个模块 LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so 下面直接把虚拟主机配置段放在httpd.conf中 ServerName www.lh.com DocumentRoot "/web/lh" Options None AllowOverride None         Require all granted ProxyRequests Off ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/web/lh/$1 吧 ProxyPassMatch ^/(pm-status|ping)$ fcgi://127.0.0.1:9000/$1 DirectoryIndex index.php index.html #mkdir -pv /web/lh #vim /web/lh/index.php     

真麻烦啊

    

然后激动地打开浏览器,输入本机IP地址,能不能休息就看这下子了

CnetOS 6.8 编译安装LAMP以及fcgi虚拟主机CnetOS 6.8 编译安装LAMP以及fcgi虚拟主机

居然乱码了,看来中文支持的包没装,但是调用的Server API FPM/FCGI出现了,就够了,老子去睡觉了

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页题目:CnetOS6.8编译安装LAMP以及fcgi虚拟主机-创新互联
文章来源:http://myzitong.com/article/dhojdi.html