日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LAMP架构简介与配置

發布時間:2024/8/1 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LAMP架构简介与配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
    • LAMP 簡介與概述
      • LAMP平臺概述
    • 構建LAMP平臺順序
    • 編譯安裝的優點
    • 各組件的主要作用
  • 編譯安裝 Apache
  • 編譯安裝mysql
  • 安裝PHP


前言

LAMP 簡介與概述

LAMP平臺概述

  • LAMP架構是目前成熟的企業網站應用模式之一,指的是協同工作的一整臺系統和相關軟件,能夠提供動態web站點服務及其應用開發環境
  • LAMP是一個縮寫詞,具體包括Linux操作系統,Apache網站服務器,MySQL數據庫服務器,PHP(或perl,Python)網頁編程語言
  • 構建LAMP平臺順序

    在構建LAMP平臺時,各組件的安裝順序依次為Linux,Apache,MySQL,PHP

    其中 Apache 和 MySQL 的安裝并沒有嚴格的順序要求,而 PHP 環境的安裝一般放到最后,負責溝通 web 服務器和數據庫系統以協同工作

    編譯安裝的優點

  • 具有較大的自由度,功能可定制
  • 可及時獲得最新的軟件版本
  • 普遍適用于大多數Linux版本,便于一直使用
  • 各組件的主要作用

  • (平臺)Linux:作為LAMP架構的基礎,提供用于支撐Web站點的操作系統,能夠與其他三個組件提供更好的穩定性,兼容性(AMP組件也支持Windows、UNIX等平臺)
  • (前臺)Apache:作為LAMP架構的前端,是一款功能強大,穩定性好的Web服務器程序,該服務器直接面向用戶提供網站訪問,發送網頁,圖片等文件內容。
  • (后臺)MySQL:作為LAMP架構的后端,是一款流行的開源關系數據庫系統。在企業網站、業務系統等應用中,各種賬戶信息、產品信息,客戶資料、業務數據等都可以存儲到MySQL數據庫,其他程序可以通過SQL語句來查詢,更改這些信息。
  • (中間連接)PHP/Perl/Python:作為三種開發動態網頁的編程語言,負責解釋動態網頁文件,負責溝通Web服務器和數據庫系統以協同工作,并提供Web應用程序的開發和運行環境。其中PHP是一種被廣泛應用的開放源代碼的多用途腳本語言,它可以嵌入到HTML中,尤其適合于Web應用開發。
  • 編譯安裝 Apache

    1.將所需軟件安裝包下載到/opt目錄下
    關閉防火墻

    systemctl stop firewalld systemctl disable firewalld setenforce 0

    2.解壓文件

    [root@bogon opt]# tar xf apr-1.6.2.tar.gz [root@bogon opt]# tar xf apr-util-1.6.0.tar.gz [root@bogon opt]# tar xf httpd-2.4.29.tar.bz2

    3.移動兩個文件并改名

    [root@bogon opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr [root@bogon opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

    4.安裝需求環境

    [root@bogon opt]# yum install -y gcc gcc-c++ make pcre-devel expat-devel perl

    5.編譯安裝

    cd /opt/httpd-2.4.29/./configure \ --prefix=/usr/local/httpd \ #指定 httpd 服務程序的安裝路徑 --enable-so \ #啟用動態加載核心模塊支持,使 httpd 具備進一步擴展功能的能力 --enable-rewrite \ #啟用網頁地址重寫功能,用于網站優化、防盜鏈及目錄遷移維護 --enable-charset-lite \ #啟動字符集支持,以便支持使用各種字符集編碼的頁面 --enable-cgi #啟用CGI(通用網關接口)腳本程序支持,便于網站的外部擴展應用訪問能力./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgimake -j4 && make install

    6.優化配置文件路徑,并把httpd服務的可執行程序文件放入路徑環境變量的目錄中便于系統識別

    ln -s /usr/local/httpd/conf/httpd.conf /etc/ ln -s /usr/local/httpd/bin/* /usr/local/bin/

    7.添加httpd系統服務

    cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd #用于service服務管理 chmod +x /etc/init.d/httpd vi /etc/init.d/httpd #!/bin/bash #在第一行前插入新行,添加此三行內容# chkconfig: 35 85 21 #35級別自動運行 第85個啟動 第21個關閉 # description: Apache is a World Wide Web serverchkconfig --add httpd #將httpd服務加入到service管理器systemctl start httpd.service

    8.修改httpd 服務配置文件

    vim /etc/httpd.conf--52--修改 Listen 192.198.146.20:80 --197--取消注釋,修改 ServerName www.benet.com:80--221--默認首頁存放路徑 DocumentRoot "/usr/local/httpd/htdocs" --255--默認首頁文件名設置 DirectoryIndex index.html httpd -t 或 apachectl -t #檢查配置文件的配置項是否有誤 cat /usr/local/httpd/htdocs/index.html systemctl restart httpd.service

    9.瀏覽器訪問驗證

    netstat -anpt | grep 80 echo "192.168.146.20 www.benet.com" >> /etc/hostshttp://192.168.146.20 http://www.benet.com

    編譯安裝mysql

    1.安裝依賴包并解壓下載的mysql
    壓縮包在 /opt 下

    yum -y install \ gcc \ gcc-c++ \ ncurses \ #字符終端下圖形互動功能的動態庫 ncurses-devel \ #ncurses開發包 bison \ #語法分析器 cmake #mysql需要用cmake編譯安裝yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake tar zxvf mysql-5.7.17.tar.gz -C /opttar zxvf boost_1_59_0.tar.gz -C /usr/local/mv /usr/local/boost_1_59_0 /usr/local/boost

    2.編譯安裝

    cd /opt/mysql-5.7.17/cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定mysql的安裝路徑 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #指定mysql進程監聽套接字文件(數據庫連接文件)的存儲路徑 -DSYSCONFDIR=/etc \ #指定配置文件的存儲路徑 -DSYSTEMD_PID_DIR=/usr/local/mysql \ #指定進程文件的存儲路徑 -DDEFAULT_CHARSET=utf8 \ #指定默認使用的字符集編碼,如 utf8 -DDEFAULT_COLLATION=utf8_general_ci \ #指定默認使用的字符集校對規則 -DWITH_EXTRA_CHARSETS=all \ #指定支持其他字符集編碼 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #安裝INNOBASE存儲引擎 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #安裝ARCHIVE存儲引擎 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #安裝BLACKHOLE存儲引擎 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ #安裝FEDERATED存儲引擎 -DMYSQL_DATADIR=/usr/local/mysql/data \ #指定數據庫文件的存儲路徑 -DWITH_BOOST=/usr/local/boost \ #指定boost的路徑,若使用mysql-boost集成包安裝則-DWITH_BOOST=boost -DWITH_SYSTEMD=1 #生成便于systemctl管理的文件cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ -DSYSCONFDIR=/etc \ -DSYSTEMD_PID_DIR=/usr/local/mysql \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS=all \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DWITH_BOOST=/usr/local/boost \ -DWITH_SYSTEMD=1make -j4 && make install #安裝過程會有點漫長,請耐心等待

    3.創建普通用戶管理mysql

    useradd -s /sbin/nologin mysqlchown -R mysql:mysql /usr/local/mysql/ #更改管理主/組 chown mysql:mysql /etc/my.cnf

    4.修改配置文件

    vim /etc/my.cnf #刪除原配置項,再重新添加下面內容[client] #客戶端設置 port = 3306 socket=/usr/local/mysql/mysql.sock [mysqld] #服務全局設置 user = mysql #設置管理用戶 basedir=/usr/local/mysql #指定數據庫的安裝目錄 datadir=/usr/local/mysql/data #指定數據庫文件的存儲路徑 port = 3306 #指定端口 character-set-server=utf8 #設置服務器字符集編碼格式為utf8 pid-file = /usr/local/mysql/mysqld.pid #指定pid 進程文件路徑 socket=/usr/local/mysql/mysql.sock #指定數據庫連接文件 bind-address = 0.0.0.0 #設置監聽地址,0.0.0.0代表允許所有,如允許多個IP需空格隔開 skip-name-resolve #禁用DNS解析 max_connections=2048 #設置mysql的最大連接數 default-storage-engine=INNODB #指定默認存儲引擎 max_allowed_packet=16M #設置數據庫接收的數據包大小的最大值 server-id = 1 #指定服務ID號 [client] port = 3306 default-character-set=utf8 socket=/usr/local/mysql/mysql.sock [mysql] port = 3306 default-character-set=utf8 socket=/usr/local/mysql/mysql.sock auto-rehash[mysqld] user = mysql basedir=/usr/local/mysql datadir=/usr/local/mysql/data port = 3306 character-set-server=utf8 pid-file = /usr/local/mysql/mysqld.pid socket=/usr/local/mysql/mysql.sock bind-address = 0.0.0.0 skip-name-resolve max_connections=2048 default-storage-engine=INNODB max_allowed_packet=16M server-id = 1 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

    5.設置環境變量,申明/宣告mysql命令便于系統識別

    echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profilesource /etc/profile

    6.初始化數據庫

    cd /usr/local/mysql/bin/./mysqld \ --initialize-insecure \ #生成初始化密碼為空 --user=mysql \ #指定管理用戶 --basedir=/usr/local/mysql \ #指定數據庫的安裝目錄 --datadir=/usr/local/mysql/data #指定數據庫文件的存儲路徑cd /usr/local/mysql/bin/ ./mysqld \ --initialize-insecure \ --user=mysql \ --basedir=/usr/local/mysql \ --datadir=/usr/local/mysql/data cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/systemctl daemon-reload #刷新識別 systemctl start mysqld.service #開啟服務 systemctl enable mysqld #開機自啟動 netstat -anpt | grep 3306 #查看端口

    6.登錄及登出mysql

    #給root賬號設置密碼 [root@localhost mysql-5.6.26]#mysqladmin -u root -p password "abc123"#登錄mysql [root@localhost mysql-5.6.26]#mysql -u root -pmysql> show databases; #查看數據庫的表#登出mysql mysql> exit Bye

    安裝PHP

    1.安裝工具

    yum -y install \ gd \ libjpeg libjpeg-devel \ libpng libpng-devel \ freetype freetype-devel \ libxml2 libxml2-devel \ zlib zlib-devel \ curl curl-devel \ openssl openssl-devel

    2.切換至opt目錄下解壓PHP文件

    cd /opt tar zxvf php-7.1.24.tar.gz 1 2 3.切換至php目錄下,編譯安裝cd /opt/php-7.1.24/./configure \ --prefix=/usr/local/php7 \ #指定將 PHP 程序的安裝路徑 --with-apxs2=/usr/local/httpd/bin/apxs \ #指定Apache httpd服務提供的apxs 模塊支持程序的文件位置 --with-mysql-sock=/usr/local/mysql/mysql.sock \ #指定mysql 數據庫連接文件的存儲路徑 --with-config-file-path=/usr/local/php7 #設置 PHP 的配置文件 php.ini 將要存放的位置 --with-mysqli \ #添加 MySQL 擴展支持 #mysqli擴展技術不僅可以調用MySQL的存儲過程、處理MySQL事務,而且還可以使訪問數據庫工作變得更加穩定 --with-zlib \ #支持zlib功能,提供數據壓縮 --with-curl \ #開啟curl擴展功能,實現HTTP的Get下載和Post請求的方法 --with-gd \ #激活gd 庫的支持 --with-jpeg-dir \ #激活jpeg 的支持 --with-png-dir \ #激活png 的支持 --with-freetype-dir \ --with-openssl \ --enable-mbstring \ #啟用多字節字符串功能,以便支持中文等代碼 --enable-xml \ #開啟擴展性標記語言模塊 --enable-session \ #會話 --enable-ftp \ #文本傳輸協議 --enable-pdo \ #函數庫 --enable-tokenizer \ #令牌解釋器 --enable-zip #ZIP壓縮格式./configure \ --prefix=/usr/local/php7 \ --with-apxs2=/usr/local/httpd/bin/apxs \ --with-mysql-sock=/usr/local/mysql/mysql.sock \ --with-config-file-path=/usr/local/php7 \ --with-mysqli \ --with-zlib \ --with-curl \ --with-gd \ --with-jpeg-dir \ --with-png-dir \ --with-freetype-dir \ --with-openssl \ --enable-mbstring \ --enable-xml \ --enable-session \ --enable-ftp \ --enable-pdo \ --enable-tokenizer \make -j4 && make install

    4.復制模板文件,并進行修改

    cp /opt/php-7.1.24/php.ini-development /usr/local/php7/php.inivim /usr/local/php7/php.ini --1170--修改 mysqli.default_socket = /usr/local/mysql/mysql.sock --939--取消注釋,修改 date.timezone = Asia/Shanghai

    5.優化把PHP 的可執行程序文件放入路徑環境變量的目錄中便于系統識別

    ln -s /usr/local/php7/bin/* /usr/local/bin/

    6.修改Apache配置文件讓Apache支持PHP

    vi /etc/httpd.conf #添加index.php 255 <IfModule dir_module> 256 DirectoryIndex index.html index.php 257 </IfModule> #在392行下方插入一下內容,讓Apache可以支持.php的網頁文件 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps ##檢查156行默認支持php7的模塊是否存在 LoadModule php7_module modules/libphp7.so

    7.創建、編輯php頁面文件

    rm -rf /usr/local/httpd/htdocs/index.html vim /usr/local/httpd/htdocs/index.php <?php phpinfo(); ?>

    8.重啟服務

    systemctl restart httpd.service

    9.網頁測試
    192.168.146.20/index.php

    IP地址是你的自己的地址
    下面頁面出來說明php網頁搭建成功

    五、安裝論壇
    1.創建一個數據庫

    mysql -u root -p mysql> CREATE DATABASE bbs;

    2.把bbs數據庫里面所有表的權限授予給bbsuser,并設置密碼

    mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';

    3.刷新數據庫

    mysql>flush privileges;

    4.解壓論壇壓縮包

    unzip Discuz_X2.5_SC_UTF8.zip -d /opt/discd /opt/dis #上傳站點更新包 cp -r upload/ /usr/local/httpd/htdocs/bbs

    5.切換論壇目錄,更改論壇目錄屬主

    cd /usr/local/httpd/htdocs/bbschown -R daemon ./config chown -R daemon ./data chown -R daemon ./uc_client chown -R daemon ./uc_server/data

    6.登錄論壇測試
    在網頁輸入網址http://192.168.146.20/bbs




    總結

    以上是生活随笔為你收集整理的LAMP架构简介与配置的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。