站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        源碼編譯安裝LAMP實現(xiàn)動靜分離

        環(huán)境:

        版本 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

        [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  #創(chuàng)建一個程序用戶并且指定參數(shù)  [root@localhost cmake-3.13.1]# mkdir /usr/local/boost  #創(chuàng)建一個目錄,并將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 #數(shù)據(jù)庫程序安裝目錄      -DDEFAULT_CHARSET=utf8 #指定字符集編碼      -DDEFAULT_COLLATION=UTF8_GENERAL_CI #默認(rèn)的字符集校對規(guī)則,utf8_general_ci適用于utf-8字符集的通用規(guī)則      -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
        • 初始化數(shù)據(jù)庫
        [root@localhost mysql]# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize          --user  #指定用戶身份運行          --datadir  #指定安裝目錄          --basedir  #指定數(shù)據(jù)目錄  執(zhí)行該命令后注意會出現(xiàn)下面這一行,密碼是最后的字符,保存好,待會兒可以進(jìn)行修改  2019-04-18T08:06:48.532352Z 1 [Note] A temporary password is generated for root@localhost: 4PUsoq3O=rjs
        • 設(shè)置環(huán)境變量
        [root@localhost mysql]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile  [root@localhost mysql]# . /etc/profile
        • 服務(wù)啟動文件
        [root@localhost mysql]# cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh   #將配置文件添加到系統(tǒng)服務(wù)  [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=http://dev.mysql.com/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后為舊密碼,即初始化時出現(xiàn)的哪個,后面為新密碼,有空格  [root@localhost data]# mysql -u root -p123456  #使用新密碼,登錄數(shù)據(jù)庫,-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)  #給用戶授權(quán)遠(yuǎn)程連接,稍后在別的服務(wù)器上可以通過PHP使用該用戶及密碼

        二、安裝配置httpd

        • 安裝
        [root@localhost ~]# useradd -r -s /sbin/nologin -M apache  #創(chuàng)建用戶  [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  #將原來文件內(nèi)容刪除      <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         #關(guān)閉代理請求      ProxyPassMatch ^/(.*.php)$ fcgi://192.168.111.5:9000/usr/local/httpd/htdocs/$1        #訪問PHP結(jié)尾的網(wǎng)頁,匹配PHP地址和目錄以及端口       </VirtualHost>  [root@localhost httpd-2.4.37]# vim /usr/lib/systemd/system/httpd.service  #服務(wù)啟動配置文件      [Unit]      #控制單元的定義      Description=The Apache HTTP Server      #設(shè)置服務(wù)單元描述字符串      After=network.target      #After:設(shè)置服務(wù)單元的啟動先后順序。(如,httpd.service單元文件中出現(xiàn)“After=network.target”表示先“network.target”后  “httpd.service“;出現(xiàn)”Before“則      相反順序啟動)      [Service]      #服務(wù)定義      Type=forking      #設(shè)置服務(wù)進(jìn)程的啟動類型。為forking是需同時設(shè)置PIDFile配置項,以幫助systemd精確定位到服務(wù)的主進(jìn)程。      PIDFile=/usr/local/httpd/logs/httpd.pid      #設(shè)置服務(wù)的守護(hù)進(jìn)程的PID文件      ExecStart=/usr/local/httpd/bin/apachectl $OPTIONS      #設(shè)置服務(wù)啟動時執(zhí)行的命令      ExecReload=/bin/kill -HUP $MAINPID      #設(shè)置服務(wù)重新加載時執(zhí)行的命令      KillMode=process      #設(shè)置在單元停止時,殺死進(jìn)程的方法;process表示僅殺死主進(jìn)程。      Restart=on-failure      #設(shè)置服務(wù)進(jìn)程正常退出、異常退出、被殺死、超時時候,是否重啟服務(wù)。on-failure表示異常退出重啟。      RestartSec=42s      #重啟服務(wù)錢暫停多長時間,默認(rèn)100ms      [install]      #安裝部分      WantedBy=graphical.target      #設(shè)置該服務(wù)所在的(target)運行目標(biāo)。WantedBy=graphical.target,是指httpd所在的運行目標(biāo)是圖形界面多用戶系統(tǒng);改配置項還有multi-user.target(非圖形界>面多用戶系統(tǒng))  [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  #生成服務(wù)文件  [root@localhost php-7.3.1]# chmod +x /etc/init.d/php-fpm   [root@localhost php-7.3.1]# chkconfig --add php-fpm  #添加到服務(wù)啟動  [root@localhost php-7.3.1]# useradd -r -s /sbin/nologin -M apache  #創(chuàng)建運行用戶  [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      #監(jiān)聽的地址  [root@localhost etc]# vim php-fpm.conf      17 pid = run/php-fpm.pid      #將前面;號去掉(取消注釋)  [root@localhost etc]# mkdir -pv /usr/local/httpd/htdocs  mkdir: 已創(chuàng)建目錄 "/usr/local/httpd"  mkdir: 已創(chuàng)建目錄 "/usr/local/httpd/htdocs"  #創(chuàng)建之前在httpd服務(wù)器上指定的目錄,存放動態(tài)網(wǎng)頁  [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上新建如下測試文件,測試數(shù)據(jù)庫連通性    [root@localhost etc]# vim /usr/local/httpd/htdocs/mysql.php      <?php      $link=mysqli_connect('192.168.111.3','root','123456');      #MySQL數(shù)據(jù)庫的主機地址,登錄數(shù)據(jù)庫的用戶和密碼,注意不是系統(tǒng)用戶和密碼      if($link) echo "<h1>完全分離成功<h1>";      mysqli_close($link);      ?>

        源碼編譯安裝LAMP實現(xiàn)動靜分離

        over……

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 国产精品国产三级国产专播| 91精品视频观看| 2022免费国产精品福利在线| 人妻VA精品VA欧美VA| 一本大道久久a久久精品综合| 亚洲国产精品一区二区第一页| 国产精品内射视频免费| 99在线精品视频| 色一乱一伦一图一区二区精品| 久久久久人妻精品一区三寸蜜桃| 亚洲综合精品香蕉久久网97| 99精品视频在线| 国产精品免费AV片在线观看| 亚洲AV永久精品爱情岛论坛| 色哟哟国产精品免费观看| 国产精品亚洲mnbav网站| 911亚洲精品不卡| 亚洲精品小视频| 欧美成人精品一区二区三区| 国产第一福利精品导航| 精品卡一卡二卡乱码高清| 亚洲av无码乱码国产精品fc2| 亚洲欧美日韩精品专区| 精品久久久久一区二区三区 | 国产成人精品日本亚洲专区| 欧美成人精品欧美一级乱黄一区二区精品在线 | 欧美精品三区| 久久久久国产日韩精品网站| 国内精品免费久久影院| 国产精品亚洲二区在线观看| 国产精品狼人久久久久影院 | 亚洲欧洲精品成人久久曰影片| 欧美精品一二区| 欧美精品一区二区三区免费观看 | 久久久久免费精品国产| 韩国精品欧美一区二区三区| 99在线热播精品免费99热| 青青青国产精品国产精品久久久久 | 黑人无码精品又粗又大又长| 国产在线观看高清精品| 久久精品国产只有精品66|