LAMP——最新版組合(CGI)

一、安裝部署

1.服務對應服務器

服務器A:centos7 IP:172.17.16.173

httpd服務

服務器B:centos7 IP:172.17.17.173

php服務

服務器C:centos6 IP:172.17.16.169

masql服務
centos只能安裝mariadb5.5版本

2.安裝源

鏈接: https://pan.baidu.com/s/1eSMrknK 密碼: 5ccz

二、服務器A安裝httpd服務(httpd2.4)

1.安裝開發包

yum groupinstall Development\ Tools
yum  -y   install openssl-devel pcre-devel  expat-devel

2.編譯安裝

tar xf  apr-1.6.2.tar.gz 
tar xf  apr-util-1.6.0.tar.gz
tar xvf httpd-2.4.28.tar.gz 

mv apr-1.6.2 httpd-2.4.28/srclib/apr
mv apr-util-1.6.0  httpd-2.4.28/srclib/apr-util

cd httpd-2.4.28/

./configure --prefix=/app/httpd-2.4 --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

make && make install

3.安裝後的配置及服務開啓

echo "PATH=/app/httpd-2.4/bin:$PATH" >>  /etc/profile.d/newvar.sh

apachectl

二、服務器C mysql數據庫服務(maria5.5.7)

1.卸載已經有的maria程序

#查看是否已安裝maria程序或mysql程序
    rpm -qa mysql*
    rpm -qa maria*
#如果提示有
     rpm -e `rpm -qa mysql*`
     或 rpm -e `rpm -qa maria*`

2.創建系統賬戶mysql

#創建系統賬戶
    useradd -r -m -d /var/lib/mysql -s /sbin/nologin  mysql
    #解釋
        -r:指定創建系統用戶
            默認系統用戶沒有家目錄
        -m:爲新用戶創建家目錄
        -d:指定家目錄路徑
        -s:指定新用戶的shell
        mysql:用戶名
家目錄用來放mysql管理的數據文件
且家目錄的權限的直接創建好屬於 mysql的;不用再改權限

3.解壓二進制文件到二進制程序的目標路徑

#此文件是已經編譯好的二進制文件,解壓時儘量直接解壓到目標二進制文件的路徑下
tar -xvf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/ 

mv /usr/local/mariadb-5.5.57-linux-x86_64  /usr/local/mysql 
cd  /usr/local/mysql

4.配置文件創建

#配置文件都在解壓後的support-files目錄下;.cnf文件
#有很多中,可以根據不同使用場景選擇
            my-innodb-heavy-4G.cnf、my-small.cnf、my-large.cnf
            my-huge.cnf  my-medium.cnf
#我選擇my-huge.cnf 重量級的
mkdir /etc/mysql/
cp /usr/local/mysql/support-files/my-huge.cnf /etc/mysql/my.cnf 
#修改配置文件
vim /etc/mysql/my.cnf 
    在[mysqld]下方添加以下3#數據文件位置(必須)
        datadir         = /var/log/mariadb
    #實現一張表一個文件,可以便於管理(非必須)
        innodb_file_per_table   = on
    #實現 關閉名字的反向解析,可以優化速度(非必須)
        skip_name_resolve       = on
或者
    sed -r -i.bak "/^\[mysqld\]/s#.*#[mysqld] \n datadir = /var/lib/mysql \n innodb_file_per_table = on \n skip_name_resolve = on#" /etc/mysql/my.cnf

5.數據庫文件創建

可以用腳本實現

#注意
    #在執行腳本時一定要在/usr/local/mysql/maria-10/路徑下執行
    scripts/mysql_install_db 命令,不能使用./scripts/mysql_install_db 

#執行
    cd /usr/local/mysql/
    scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql

6.日誌文件創建

touch /var/log/mysqld.log
chown  mysql:mysql   /var/log/mysqld.log

7.服務腳本創建

cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

8.修改PATH路徑

echo "PATH=/usr/local/mysql/bin/:$PATH" >> /etc/profile.d/newvar.sh 

9.啓動mysql服務

因爲mysqld的服務腳本是複製到了 /etc/init.d/目錄下
所以不能使用centos7.3的systemctl命令啓動服務
要使用service命令(centos7.3可以兼容centos的6命令)
    service mysqld start

10.安全腳本運行

mysql_secure_installation 

四、服務器C:php7.1服務

1.安裝開發包

yum  -y  install bzip2-devel libxml2-devel libmcrypt-devel 

2.解壓、編譯、運行

tar xf php-7.1.10.tar.xz


./configure --prefix=/app/php \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-openssl \
--with-pdo-mysql=mysqlnd \
--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 \
--with-config-file-scan-dir=/etc/php.d \
--enable-maintainer-zts \
--disable-fileinfo 



make && make install

4.服務腳本

cp  sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm  
chmod u+x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm  on

4.配置文件

cp php-7.1.10/php.ini-production  /etc/php/php.ini
cp  php-7.1.10/sapi/fpm/php-fpm.conf  /app/php/etc/php-fpm.conf

五、連接httpd服務與php服務和mysql服務

1.配置httpd服務(服務器A)

vim /etc/httpd24/httpd.conf 
添加以下幾行
#加載模塊
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
    #添加支持的文件類型
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    DirectoryIndex index.php
    ProxyRequests Off
    ProxyPassMatch  ^/(.*\.php)$ \
    fcgi://172.17.17.173:9000/app/php/var/run/$1

注意:

fcgi指向的地址一定要是php服務器中有.php 程序的地址

2.配置php服務接受httpd的訪問(服務器B)

cd  /app/php/etc/php-fpm.d
cp www.conf.default  www.conf
vim www.conf  修改下面兩行
    listen = 9000
    listen.allowed_clients = 172.17.16.173

3.mysql服務

創建屬於php程序的數據庫和數據庫管理用戶

在phpMyadmin頁面中創建
或使用mysql命令創建
    create database wordpress
    GRANT all privileges on wordpress.* TO 'wordpress_user'@'%'IDENTIFIED BY 'passwd‘;

六、LAMP測試

1.測試腳本
vim /app/php/var/run/index.php

vim /app/php/var/run/index.php

<?php
  $mysqli=new mysqli("172.17.16.169","php","centos");
  if(mysqli_connect_errno()){
    echo "連接數據庫失敗!";
    $mysqli=null;
    exit;
  }
  echo "連接數據庫成功!只能連接mysql";
  $mysqli->close();
?>   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章