Linux服务 编译安装LAMP

LAMP组合编译安装(使用的是Centos6)
    
    httpd+php
        modules:把php便以成 httpd的DSO模块;
            prefork:libphp5
            event、worker :libphp5-zts
        cgi
        fpm(fastcgi):php作为独立的服务,监听在某个套接字上向外提供服务;
        httpd对fastcgi协议的支持:
            httpd-2.2:需要额外安装fcgi模块:
            httpd-2.4:自带fcgi模块;
    安装顺序:httpd→ MariaDB→ php      其实只要保证php最后安装即可;
        1.首先需要安装编译环境以及依赖关系处理;
            yum groupinstall “Development Tools” “Server Platform Development” -y
            yum install pcre pcre-devel  → httpd依赖这两个包
            yun install bzip2-devel libmcrypt-devel libxml2-devel.x86_64 -y → PHP用到这三个包
                注:libmcrypt-devel是在epel源中的,所以需要事安装epel源;
        2.下载待编译的源码包;
            apr:http://archive.apache.org/dist/apr/apr-1.5.0.tar.bz2
            apr-util:http://archive.apache.org/dist/apr/apr-util-1.5.3.tar.bz2      
            httpd:http://archive.apache.org/dist/httpd/httpd-2.4.10.tar.gz
            MariaDB:https://downloads.mariadb.org/mariadb/5.5.62/mariadb-5.5.62-linux-x86_64.tar.gz   
            PHP:http://php.net/releases/
        3.解压及编译;
            apr:
                tar -xf apr-1.5.0.tar.bz2
                 cd apr-1.5.0/
                 ./configure –prefix=/usr/local/apr
                make && make install
            apr-until:
                 tar -xf apr-util-1.5.3.tar.bz2
                cd apr-util-1.5.3/
                 ./configure --prefix=/usr/local/apr-until –with-apr=/usr/local/apr
                    因为apr-until是针对于apr编译的所以后面要指明apr的位置;
                make && make install
                注:因为我的手误将apr-util写成了apr-until,大家做的时候注意更正过来;
            httpd:httpd在编译的时候我们尽量让它对每一个模块都支持;
                编译安装前注意各个相关的软件为新版本,我在编译的时候就报一个ssl版本过旧的错误,如果你也碰到了使用yum install openssl-devel.x86_64 -y 以及yum update openssl即可;
                 tar -xf httpd-2.4.10.tar.bz2
                cd httpd-2.4.10/
                 ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite  --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-until --enable-modules=most --enable-mpms-shared=all –with-mpm=event
                make && make install
                cd /etc/rc.d/init.d
                cp httpd httpd24
                vim httpd24
                    apachectl=/usr/localapache/bin/apachectl
                    httpd=${HTTPD-/usr/local/apache/bin/httpd}
                    prog=httpd
                    pidfile=${PIDFILE-/usr/local/apache/logs/httpd.pid}
                    lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
                    RETVAL=0
                    STOP_TIMEOUT=${STOP_TIMEOUT-10}
                chkconfig --add httpd24            
                chkconfig --list  httod24
                hash -r
                httpd -t
                vim /etc/profile.d/httpd24.sh
                    export PATH=/usr/local/apache/bin:$PATH
                . /etc/profile.d/httpd24.sh
                hash
                httpd -M
                     mpm_event_module (shared)
                vim /etc/httpd24/httpd.conf
                    查找LoadModule → 启用需要的模块
            MariaDB:
                请查看:https://blog.csdn.net/qq_32501535/article/details/85102155
            PHP(模块方式):
                tar -xf php-5.4.40.tar.bz2
                 cd php-5.4.40/
                ./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-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
                --prefix=/usr/local/php                 指定安装路径
                --with-mysql=/usr/local/mysql    指定php是指定针对哪个mysql安装的
                --with-openssl                              指定openssl
                --with-mysqli=/usr/local/mysql/bin/mysql_config   对mysql中数据库的另外一种接口
                --enable-mbstring                  启用对多字节字符串的支持,使用中文的话就需要启动
                --with-freetype-dir                 指定使用多种字体格式    
                --with-jpeg-dir                       支持处理jpeg格式的图片
                --with-png-dir                        支持处理png格式的图片
                --with-zlib                              支持压缩库
                --with-libxml-dir=/usr            支持处理xml格式的文档
                --enable-xml                           启用xml功能
                --enable-sockets                      支持基于socket通信
                --with-apxs2=/usr/local/apache/bin/apxs     把php编译成apache的模块
                --with-mcrypt                          支持加解密库
                --with-config-file-path=/etc     php配置文件路径
                --with-config-file-scan-dir=/etc/php.d          .d目录  → 你懂的:跟php有关的配置都可以放在这个目录中,php会自动加载其中的文件
                --with-bz2                                支持bz2格式
                --enable-maintainer-zts            httpd使用的是event或worker的话,就需要这个选项,否则就不用加;我们前面使用的就是event,所以。。。
                make && make install
                
                编译成功以后我们还要回去配置httpd,因为httpd默认是不支持php的
                        cd /etc/httpd24/
                        cp httpd.conf{,.bak}    
                         vim httpd.conf
                            DirectoryIndex index.php index.html
                            AddType application/x-httpd-php .php
                                AddType application/x-httpd-php-source .phps
            安装xcache,为php加速
                下载源码包:http://xcache.lighttpd.net/wiki/Release-3.2.0
                tar -xf xcache-3.2.0.tar.bz2
                cd xcache-3.2.0/
                /usr/local/php/bin/phpize     xcache的configure时需要借助php的phpize这个工具程序来读取模块文件而生成的;
                 ./configure --enable-xcache--with-php-config=/usr/local/php/bin/php-config
                     --enable-xcache      启用xcache模块
                    --with-php-config=/usr/local/php/bin/php-config     将xcache编译成php的模块,xcache从本质上讲是php的一个扩展;=右边的就是php的一个扩展接口;
                make && make install
                cp xcache.ini /etc/php.d/
                 vim /etc/php.d/xcache.ini
                    extension =/usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
            
            PHP(以fpm方式):
                tar -xf php-5.4.40.tar.bz2
                cd php-5.4.40/
                 ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-mcrypt --with-config-file-path=/etc/php5 --with-config-file-scan-dir=/etc/php5.d --with-bz2
                make && make install
            在apache httpd2.4以后已经专门有一个模块用于针对FastCGI的实现,此模块为mod_proxy_fcgi.so ,它其实是作为mod_proxy.so模块的扩展,因此两个模块都需要加载;
                同样需要在httpd的配置文件中添加
                vim /etc/httpd2-4/httpd.conf      使httpd支持php格式文件,并且加载相关模块
                    注:这个httpd的配置文件不是接上文中编译的那个,而是重新安装的,因为上文使用的是event模块模式的,其中的一些模块是fpm不需要的,所以建议另外重新找到一个httpd的配置文件来使用;   
                    DirectoryIndex index.php index.html
                    AddType application/x-httpd-php .php
                       AddType application/x-httpd-php-source .phps
                    LoadModule proxy_module modules/mod_proxy.so
                    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
                    配置虚拟主机支持使用fcgi  
                        在相应的虚拟主机中添加类似以下两行:
                            ProxyRequests Off        关闭正向代理
                            ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/PATH/TO/DOCUMENT_ROOT/$1
                                /PATH/TO/DOCUMENT_ROOT:存放.php资源的目录;
                                $1:正则表达式的后向引用;
                                作用:在虚拟主机中以反向代理的方式告诉用户所有对.php格式结尾的URL的请求都基于fcgi协议送给某个服务器(127.0.0.1)上的9000端口,以请求资源;
                    例子:
                        <VirtualHost *:80>
                            DocumentRoot “/var/www/html”
                            ServerName guowei.com
                            ServerAlias www.guowei.com
                        ProxyRequests Off        
                        ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/PATH/TO/DOCUMENT_ROOT/$1
                            <Directory “/var/www/html”>
                                Options none
                                AllowOverride none
                                Require all granted
                            </Directory>
                        </VirtualHost>
                mkdir /etc/php5{,.d}
                cp php.ini-production /etc/php5/php.ini                        php的配置文件
                cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm      服务启动脚本
                chmod +x /etc/rc.d/init.d/php-fpm
                chkconfig --add php-fpm
                cd /usr/local/php5/etc/
                cp php-fpm.conf.default php-fpm.conf                          php-fpm的配置文件
                vim php-fpm.conf
                    pm.max_children = 50            最多启动多少个进程
                    pm.start_servers = 5                服务启动时就启动多少个进程
                    pm.min_spare_servers = 2      最小空闲进程
                    pm.max_spare_servers = 5      最大空闲进程
                    pid = /usr/local/php5/var/run/php-fpm.pid        pid的位置
                service php-fpm start
                ps -aux | grep fpm
               

注:根据马哥视频做的学习笔记,如有错误,欢迎指正:侵删
                    
 

转载于:https://www.cnblogs.com/guowei-Linux/p/11072877.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数字乡村和智慧农业的数字化转型是当前农业发展的新趋势,旨在通过应用数字技术,实现农业全流程的再造和全生命周期的管理服务。中国政府高度重视这一领域的发展,提出“数字中国”和“乡村振兴”战略,以提升国家治理能力,推动城乡融合发展。 数字乡村的建设面临乡村治理、基础设施、产业链条和公共服务等方面的问题,需要分阶段实施《数字乡村发展战略纲要》来解决。农业数字化转型的需求包括满足市民对优质农产品的需求、解决产销对接问题、形成优质优价机制、提高农业劳动力素质、打破信息孤岛、提高农业政策服务的精准度和有效性,以及解决农业融资难的问题。 数字乡村建设的关键在于构建“1+3+4+1”工程,即以新技术、新要素、新商业、新农民、新文化、新农村为核心,推进数据融合,强化农业大数据的汇集功能。数字农业大数据解决方案以农业数字底图和数据资源为基础,通过可视化监管,实现区域农业的全面数字化管理。 数字农业大数据架构基于大数据、区块链、GIS和物联网技术,构建农业大数据中心、农业物联网平台和农村综合服务指挥决策平台三大基础平台。农业大数据中心汇聚各类涉农信息资源和业务数据,支持大数据应用。信息采集系统覆盖市、县、乡、村多级,形成高效的农业大数据信息采集体系。 农业物联网平台包括环境监测系统、视频监控系统、预警预报系统和智能控制系统,通过收集和监测数据,实现对农业环境和生产过程的智能化管理。综合服务指挥决策平台利用数据分析和GIS技术,为农业决策提供支持。 数字乡村建设包括三大服务平台:治理服务平台、民生服务平台和产业服务平台。治理服务平台通过大数据和AI技术,实现乡村治理的数字化;民生服务平台利用互联网技术,提供各类民生服务;产业服务平台融合政企关系,支持农业产业发展。 数字乡村的应用场景广泛,包括农业生产过程、农产品流通、农业管理和农村社会服务。农业生产管理系统利用AIoT技术,实现农业生产的标准化和智能化。农产品智慧流通管理系统和溯源管理系统提高流通效率和产品追溯能力。智慧农业管理通过互联网+农业,提升农业管理的科学性和效率。农村社会服务则通过数字化手段,提高农村地区的公共服务水平。 总体而言,数字乡村和智慧农业的建设,不仅能够提升农业生产效率和管理水平,还能够促进农村地区的社会经济发展,实现城乡融合发展,是推动中国农业现代化的重要途径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值