亚游wwwag8com
你好,游客 登录 注册
背景:
阅读新闻

源码编译安装LAMP实现动静分离

[日期:2019-05-17] 来源:Linux社区  作者:Linux [字体: ]

环境:

版本IP地址源码包版本
CentOS7.5_mysql 192.168.111.3 mysql-5.7.24.tar.gz,cmake-3.13.1.tar.gz,boost_1_59_0
Centos7.5_httpd 192.168.111.4 apr-1.6.5,apr-util-1.6.1,httpd-2.4.37
Centos7.5_php 192.168.111.5 php-7.3.1

目录

一、安装配置MySQL

二、安装配置httpd

三、安装配置PHP


一、安装配置MySQL

亚游wwwag8com,  航空讯 2009年9月21日——上周,励展博览集团在香港举办的2009年亚洲国际航空展览会暨论坛吸引了12600多名观众,来自中国、亚洲其他地区以及世界其他地区的观众分别各占三分之一。在与展会同时举办的论坛上,100名行业资深人士发表了演讲,200家媒体在开幕当天出席了亚洲国际航展并进行了报道,同时还参观了在香港商用航空中心静态飞机展示区展出的飞机。

  5月2日:澳大利亚火车系统因该病毒一度使司机无法同控制塔对话,导致部分列车晚点或停发,30万名搭客受困月台。反病毒公司Panda Software表示,全球超过百万台已经被。相关人员表示:“与其他在周末出现的病毒相比,这一病毒堪称传播速度最快的。5月3日企业上班之后,预计它的传播速度会更快。尾盘:恐慌指数翻番 道指一度狂泻近1600点  航天飞机的定期起降,似乎成了科技强国、航天强国的标签,在航天飞机被停飞的两年多时间里,美国的航天迷、航天精英都有某种失落感;“发现”号发射前后的走走停停、一波三折又使美国民众陷进了自我怀疑的漩涡。载人航天飞机到底值不值,风险如此大为何还要飞?

[root@localhost ~]# yum -y install ncurses-devel
#这个是cmake的依赖包
  • 安装MySQL
[root@localhost ~]# tar xf cmake-3.13.1.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/cmake-3.13.1/
[root@localhost cmake-3.13.1]# ./configure && gmake && gmake install
#这步时间较长
[root@localhost cmake-3.13.1]# useradd -M -s /sbin/nologin mysql
#创建一个程序用户并且指定参数
[root@localhost cmake-3.13.1]# mkdir /usr/local/boost
#创建一个目录,并将boost_1_66_0.tar.gz解压后放到这个目录里
[root@localhost ~]# tar zxf boost_1_59_0.tar.gz -C /usr/local/boost/
[root@localhost ~]# tar xf mysql-*.tar.gz -C /usr/src/
#解压MySQL包
[root@localhost boost_1_59_0]# cd /usr/src/mysql-5.7.24/

[root@localhost mysql-5.7.24]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA
_CHARSETS=all -DSYSCONFDIR=/etc -DWITH_BOOST=/usr/local/boost && make && make install
#这步时间较长
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql #数据库程序安装目录
    -DDEFAULT_CHARSET=utf8 #指定字符集编码
    -DDEFAULT_COLLATION=UTF8_GENERAL_CI #默认的字符集校对规则,utf8_general_ci适用于utf-8字符集的通用规则
    -DWITH_EXTRA_CHARSETS=all #指定额外支持的字符集编码
    -DSYSCONFDIR=/etc #指定配置文件存放目录
[root@localhost mysql-5.7.24]# cd /usr/local/mysql/
[root@localhost mysql]# chown -R mysql:mysql *
#将该目录下的所有文件和目录的属主和属组修改为mysql
  • 配置MySQL
[root@localhost mysql]# vim /etc/my.cnf
    [mysqld]
    datadir=/usr/local/mysql/data
    socket=/tmp/mysql.sock
    [mysqld_safe]
    log-error=/usr/local/mysql/data/mysql.log
    pid-file=/usr/local/mysql/data/mysql.pid
  • 初始化数据库
[root@localhost mysql]# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
        --user  #指定用户身份运行
        --datadir  #指定安装目录
        --basedir  #指定数据目录
执行该命令后注意会出现下面这一行,密码是最后的字符,保存好,待会儿可以进行修改
2019-04-18T08:06:48.532352Z 1 [Note] A temporary password is generated for root@localhost: 4PUsoq3O=rjs
  • 设置环境变量
[root@localhost mysql]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql]# . /etc/profile
  • 服务启动文件
[root@localhost mysql]# cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh 
#将配置文件添加到系统服务
[root@localhost mysql]#  chmod +x /usr/local/mysql/bin/mysqld.sh
[root@localhost data]# vim /usr/lib/systemd/system/mysqld.service
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=/devd35cmysqld35ccom/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    [Install]
    WantedBy=multi-user.target
    [Service]
    User=mysql
    Group=mysql
    PIDFile=/usr/local/mysql/data/mysqld.pid
    # Disable service start and stop timeout logic of systemd for mysqld service.
    TimeoutSec=0
    # Execute pre and post scripts as root
    PermissionsStartOnly=true
    # Needed to create system tables
    #ExecStartPre=/usr/bin/mysqld_pre_systemd
    # Start main service
    ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/data/mysqld.pid
    #注意这里要加上 --daemonize 
    # Use this to switch malloc implementation
    #EnvironmentFile=-/etc/sysconfig/mysql
    # Sets open_files_limit
    LimitNOFILE = 5000
    Restart=on-failure
    RestartPreventExitStatus=1
    PrivateTmp=false
[root@localhost data]# systemctl start mysqld
[root@localhost data]# systemctl enable mysqld
[root@localhost data]# mysqladmin -u root -p4PUsoq3O=rjs password 123456
#修改密码,-p后为旧密码,即初始化时出现的哪个,后面为新密码,有空格
[root@localhost data]# mysql -u root -p123456
#使用新密码,登录数据库,-p后无空格

mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
#给用户授权远程连接,稍后在别的服务器上可以通过PHP使用该用户及密码

二、安装配置httpd

  • 安装
[root@localhost ~]# useradd -r -s /sbin/nologin -M apache
#创建用户
[root@localhost ~]# ls
anaconda-ks.cfg  apr-1.6.5.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.37.tar.gz  initial-setup-ks.cfg
[root@localhost ~]# yum -y install pcre-devel openssl-devel expat-devel libxml2-devel bzip2-devel
#安装依赖

[root@localhost ~]# mv apr-1.6.5 apr
[root@localhost ~]# tar zxf apr-util-1.6.1.tar.gz 
[root@localhost ~]# mv apr-util-1.6.1 apr-util
#配置所需的包

[root@localhost ~]# tar zxf httpd-2.4.37.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/httpd-2.4.37/
[root@localhost httpd-2.4.37]# mv /root/{apr-util,apr} srclib/
[root@localhost httpd-2.4.37]# ./configure --prefix=/usr/local/httpd --enable-so --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-includ
ed-apr=/root/apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork && make && make install
  • 配置
修改配置文件

[root@localhost httpd-2.4.37]#  vim /usr/local/httpd/conf/httpd.conf
    171 User apache
    172 Group apache
    202 ServerName 192.168.111.4:80
    #也可填自身域名,并将注释删除
    259 <IfModule dir_module>
    260     DirectoryIndex index.html index.php
    261 </IfModule>
    #添加PHP的
    484 # Virtual hosts
    485 Include conf/extra/httpd-vhosts.conf
    #启用虚拟主机配置
    119 LoadModule proxy_module modules/mod_proxy.so
    123 LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
    #取消注释
    
[root@localhost httpd-2.4.37]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
#将原来文件内容删除
    <VirtualHost 192.168.111.4:80>
    DocumentRoot "/usr/local/httpd/htdocs"
    ServerName www.join.com
    ErrorLog "/usr/local/httpd/logs/error_log"
    CustomLog "/usr/local/httpd/logs/access_log" common
    <Directory "/usr/local/httpd/htdocs">
    Options None
    AllowOverride None
    Require all granted
    </Directory>
    ProxyRequests Off   
    #关闭代理请求
    ProxyPassMatch ^/(.*\.php)$ fcgi:/192d35c168d35c111d35c5:9000/usr/local/httpd/htdocs/$1  
    #访问PHP结尾的网页,匹配PHP地址和目录以及端口 
    </VirtualHost>
[root@localhost httpd-2.4.37]# vim /usr/lib/systemd/system/httpd.service
#服务启动配置文件
    [Unit]
    #控制单元的定义
    Description=The Apache HTTP Server
    #设置服务单元描述字符串
    After=network.target
    #After:设置服务单元的启动先后顺序。(如,httpd.service单元文件中出现“After=network.target”表示先“network.target”后  “httpd.service“;出现”Before“则
    相反顺序启动)
    [Service]
    #服务定义
    Type=forking
    #设置服务进程的启动类型。为forking是需同时设置PIDFile配置项,以帮助systemd精确定位到服务的主进程。
    PIDFile=/usr/local/httpd/logs/httpd.pid
    #设置服务的守护进程的PID文件
    ExecStart=/usr/local/httpd/bin/apachectl $OPTIONS
    #设置服务启动时执行的命令
    ExecReload=/bin/kill -HUP $MAINPID
    #设置服务重新加载时执行的命令
    KillMode=process
    #设置在单元停止时,杀死进程的方法;process表示仅杀死主进程。
    Restart=on-failure
    #设置服务进程正常退出、异常退出、被杀死、超时时候,是否重启服务。on-failure表示异常退出重启。
    RestartSec=42s
    #重启服务钱暂停多长时间,默认100ms
    [install]
    #安装部分
    WantedBy=graphical.target
    #设置该服务所在的(target)运行目标。WantedBy=graphical.target,是指httpd所在的运行目标是图形界面多用户系统;改配置项还有multi-user.target(非图形界>面多用户系统)
[root@localhost httpd-2.4.37]# systemctl start httpd
[root@localhost httpd-2.4.37]# systemctl enable httpd

 三、安装配置PHP

  • 安装
[root@localhost ~]# yum install -y pcre-devel openssl-devel expat-devel libxml2-devel bzip2-devel
#安装依赖包
[root@localhost ~]# tar zxf php-7.3.1.tar.gz -C /usr/src/
[root@localhost php-7.3.1]# cd /usr/src/php-7.3.1/
[root@localhost etc]# ./configure --prefix=/usr/local/php --enable-mysqlnd --with-mysqli=mysqlnd --with-openssl --with-pdo-mysql=mysqlnd --enable-mb
string --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-maintainer-zts --disable-fileinfo && make && make install
#编译安装
[root@localhost php-7.3.1]# cp php.ini-production /etc/php.ini
#生成配置文件
[root@localhost php-7.3.1]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
#生成服务文件
[root@localhost php-7.3.1]# chmod +x /etc/init.d/php-fpm 
[root@localhost php-7.3.1]# chkconfig --add php-fpm
#添加到服务启动
[root@localhost php-7.3.1]# useradd -r -s /sbin/nologin -M apache
#创建运行用户
[root@localhost php-7.3.1]# cd /usr/local/php/etc/
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf
[root@localhost etc]# cp php-fpm.d/www.conf.default php-fpm.d/www.conf
#php-fpm配置文件
[root@localhost etc]# vim php-fpm.d/www.conf
    23 user = apache
    24 group = apache
    #修改用户和组
    36 listen = 192.168.111.5:9000
    #监听的地址
[root@localhost etc]# vim php-fpm.conf
    17 pid = run/php-fpm.pid
    #将前面;号去掉(取消注释)
[root@localhost etc]# mkdir -pv /usr/local/httpd/htdocs
mkdir: 已创建目录 "/usr/local/httpd"
mkdir: 已创建目录 "/usr/local/httpd/htdocs"
#创建之前在httpd服务器上指定的目录,存放动态网页
[root@localhost ~]# /etc/init.d/php-fpm start
Starting php-fpm  done
#启动php
[root@localhost ~]# netstat -lnpt | grep php
tcp        0      0 192.168.111.5:9000      0.0.0.0:*               LISTEN      54111/php-fpm: mast

四、测试

PHP上新建如下测试文件,测试数据库连通性

[root@localhost etc]# vim /usr/local/httpd/htdocs/mysql.php
    <?php
    $link=mysqli_connect('192.168.111.3','root','123456');
    #MySQL数据库的主机地址,登录数据库的用户和密码,注意不是系统用户和密码
    if($link) echo "<h1>完全分离成功<h1>";
    mysqli_close($link);
    ?>

image

over……

Linux公社的RSS地址亚游wwwag8com/wwwd35clinuxidcd35ccom/rssFeed.aspx

本文永久更新链接地址亚游wwwag8com/wwwd35clinuxidcd35ccom/Linux/2019-05/158771.htm

linux
相关资讯       lamp  源码编译安装LAMP 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
网约车低于200元发票收10元邮费 律师:不合法 北京3月气象条件近六年最差 遭遇20年来最强逆温 苏丹女子未获得父亲同意结婚 被判监禁和鞭刑 南京9岁女尸身份确认:因脑瘫被父亲爷爷推下河 坐拥近六千万90后00后 这家二次元网站要赴美上市 最高检:要求全国检察机关学习宣传贯彻实施宪法 政协委员:让中国孩子不出国门就能念世界一流大学 重庆一辆小客车与大货车相撞 致7人死亡2人受伤 斯特拉斯堡赛4号种子逆转险胜 NO.535亦进次轮 高通拟放弃收购恩智浦 美媒:成中美贸易战牺牲品 我是211高校学生 在游乐园实习整天给人系安全带 13位超模的早餐清单揭秘 想要好身材快copy起来
郑功成:网络安全执法检查首次引入第三方参与 媒体:歼15夜间在辽宁舰上高密度起降 已具初始战力 云南大理苍山林区发生森林火灾 730人正全力扑救 “埋堆堆”App是TVB给自己煮的面吗? 宁夏交通厅原副巡视员张兴国被决定逮捕 涉受贿罪 俄开始量产新型超音速导弹 其能以20倍音速飞行 足协出台停赛执行细则 禁止用预备队消减场数 日媒:从午饭看日本30年 白领勒紧裤腰带过日子 成都机场遭雷暴天气 影响70余航班约8000旅客滞留 想进入非洲朋友圈 法媒:莫迪欲扩大印在非影响力 媒体调查赤峰医生投毒案:同事们把动机归结为晋升 王简嘉禾800自游出今年世界第1 超李冰洁10秒多
绿军宣布欧文左膝手术赛季报销 预计伤停5个月 “特金会”将于新加坡举行 韩媒:或改变半岛命运 博士一毕业就获聘985高校教授博导:系本土人才 六日近乎腰斩 “长生生物”式的雷怎么避? 安倍:8月将派调查团前往南千岛群岛进行实地考察 就一个服字!东部第1分卫盛赞登哥:他已锁定MVP 许家印:应大幅提高个税起征点3500太低 至少一万 瓜帅确认曼城锋王无缘战利物浦 德比可能也缺阵 印度海军想成印太不容小觑的力量?问题是缺钱 大型强子对撞机撞出“奇子”?追寻准粒子疑露踪迹 美国国务卿:华盛顿正在考虑对委内瑞拉实施石油禁运 曝马竞匪帅拒绝执教切尔西 去英超他只想选曼联 球哥伤情又反复?他感觉膝盖里有东西是咋回事 亚游wwwag8com