目錄
一、LAMP架構的簡述
?1.LAMP搭建時各組件安裝順序
二、編譯安裝Apache httpd服務
1.關閉防火墻,將安裝Apache所需軟件包傳到/opt目錄下
?2.安裝環境依賴包?編輯
3.配置軟件模塊?
4.編譯及安裝?
5.優化配置文件路徑,并把httpd服務的可執行程序文件放入路徑環境變量的目錄中便于系統識別?
6.添加httpd系統服務
7.修改httpd 服務配置文
8.瀏覽器訪問驗證?
三、編譯安裝mysqld服務?
1.將安裝mysql 所需軟件包傳到/opt目錄下并壓縮
2.安裝環境依賴包
3.配置軟件模塊?
4.編譯及安裝?
5.創建mysql用戶
6.修改mysql 配置文件
?7.更改mysql安裝目錄和配置文件的屬主屬組
8.設置路徑環境變量
9.初始化數據庫
10.添加mysqld系統服務?
11.修改mysql 的登錄密碼
12.授權遠程登錄
四.編譯安裝PHP解析環境
1.將安裝PHP 所需軟件包傳到/opt目錄下
2.安裝GD庫和GD庫關聯程序,用來處理和生成圖片?
?3.配置軟件模塊
?4.編譯及安裝
?5.復制模版文件作為PHP 的主配置文件,并進行修改
6.優化把PHP 的可執行程序文件放入路徑環境變量的目錄中便于系統識別
7.修改httpd 服務的配置文件,讓apache支持PHP
8.驗證PHP 測試頁
五、安裝論壇?
1.創建數據庫,并進行授權
2.解壓論壇壓縮包
?
3.更改論壇目錄的屬主?
?訪問:http://192.168.80.100/discuz/install?編輯
4.瀏覽器訪問驗證
六.安裝網站
1.將所需軟件包傳入編輯
2.創建wordpress專屬數據庫編輯?
3.瀏覽器訪問驗證?
一、LAMP架構的簡述
LAMP架構是目前成熟的企業網站應用模式之一,指的是協同工作的一整套系統和相關軟件,能夠提供動態Web站點服務及其應用開發環境
(LAMP是一個縮寫詞,具體包括Linux操作系統、Apache網站服務器、MySQL數據庫服務器、PHP(或Perl、Python)網頁編程語言)
? 主要作用?
- (平臺) Linux:作為架構中的平臺與運行環境 ,為該架構與其他組件提供穩定運行的環境。同時Linux自身也是開源免費,穩定性兼容性很強的操作性系統
- (前臺) Apache:作為LAMP架構的前端,是一款功能強大,穩定性好的Web服務器程序,該服務器直接面向用戶提供網站訪問,發送網頁,圖片等文件內容
- (后臺) MySQL:作為LAMP架構的后端,是一款流行的開源關系數據庫系統。在企業網站、業務系統等應用中,各種賬戶信息、產品信息,客戶資料、業務數據等都可以存儲到MySQL數據庫,其他程序可以通過SQL語句來查詢,更改這些信息
- (中間連接) PHP/Perl/Python:作為三種開發動態網頁的編程語言,負責解釋動態網頁文件,負責溝通Web服務器和數據庫系統以協同工作,并提供Web應用程序的開發和運行環境。其中PHP是一種被廣泛應用的開放源代碼的多用途腳本語言,它可以嵌入到HTML中,尤其適合于Web應用開發
?1.LAMP搭建時各組件安裝順序
首先安裝好Linux系統,為架構提供平臺。各組件的安裝順序依次為Linux、Apache、MySQL、PHP。其中Apache和MySQL的安裝并沒有嚴格的順序,PHP環境的安裝一般放到最后安裝,負責溝通 Web 服務器和數據庫系統以協同工作
二、編譯安裝Apache httpd服務
1.關閉防火墻,將安裝Apache所需軟件包傳到/opt目錄下
[root@localhost ~]# systemctl stop firewalld[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.[root@localhost ~]# setenforce 0
[root@localhost ~]# cd /opt
[root@localhost opt]#
[root@localhost opt]#
[root@localhost opt]# rz -E[root@localhost opt]# ls
apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.59.tar.gz rh
?2.安裝環境依賴包
[root@localhost opt]# mount /dev/sr0 /mnt
mount: /dev/sr0 寫保護,將以只讀方式掛載[root@localhost opt]# yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl
3.配置軟件模塊?
[root@localhost ~]# cd /opt[root@localhost opt]# rz -E[root@localhost opt]# ls
apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.59.tar.gz rh[root@localhost opt]# tar xf httpd-2.4.59.tar.gz
[root@localhost opt]# tar xf apr-1.6.2.tar.gz
[root@localhost opt]# tar xf apr-util-1.6.0.tar.gz
[root@localhost opt]# ls
apr-1.6.2 apr-1.6.2.tar.gz apr-util-1.6.0 apr-util-1.6.0.tar.gz httpd-2.4.59 httpd-2.4.59.tar.gz rh
[root@localhost opt]# mv apr-1.6.2 httpd-2.4.59/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.59/srclib/apr-util
#將APR和APR-Util庫移動到srclib目錄下的操作
[root@localhost httpd-2.4.59]# cd httpd-2.4.59/
[root@localhost httpd-2.4.59]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
?
編譯完成以后會生成一個makefile文件 ↓
4.編譯及安裝?
編譯前可以先lscpu查詢一下核心數
[root@localhost httpd]# make -j 6 && make install
#使用6個核心同時進行編譯,編譯成功后進行安裝#編譯前先lscpu確定核心數,不要超核心數編輯(我自己是6核的)
?編譯安裝完成
5.優化配置文件路徑,并把httpd服務的可執行程序文件放入路徑環境變量的目錄中便于系統識別?
[root@localhost httpd]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost httpd]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
6.添加httpd系統服務
[root@localhost httpd]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd[root@localhost httpd]# chmod +x /etc/init.d/httpd[root@localhost httpd]# vim /etc/init.d/httpd#!/bin/bash
#this is acache service control scprit
#chkconfig: 2345 20 99
[root@localhost httpd]# chkconfig --add httpd
# 將httpd服務加入到service管理器
[root@localhost httpd]# systemctl start httpd.service
7.修改httpd 服務配置文
cd /usr/local/httpd/conf/
cp httpd.conf httpd.conf.bak
# 進行備份
vim /etc/httpd.conf
--52行--修改 Listen 192.168.80.100:80
--199行--取消注釋,修改 ServerName www.xy101.com:80--223行--默認首頁存放路徑 DocumentRoot "/usr/local/httpd/htdocs"
--257行--默認首頁文件名設置 DirectoryIndex index.htmlhttpd -t 或 apachectl -t #檢查配置文件的配置項是否有誤systemctl restart httpd.service
?
8.瀏覽器訪問驗證?
也可以修改網站內容?
[root@localhost conf]# cd /usr/local/httpd/
[root@localhost httpd]# ls
bin build cgi-bin conf error htdocs icons include lib logs man manual modules
[root@localhost httpd]# cd htdocs/
[root@localhost htdocs]# ls
index.html
[root@localhost htdocs]# vim index.html <html><body><h1>ikun N0.1 baby</h1></body></html>
?
三、編譯安裝mysqld服務?
1.將安裝mysql 所需軟件包傳到/opt目錄下并壓縮
[root@localhost htdocs]# mkdir mysql
[root@localhost htdocs]# cd mysql/
[root@localhost mysql]# rz -E[root@localhost mysql]# ls
mysql-boost-5.7.44.tar.gz
[root@localhost mysql]# tar xf mysql-boost-5.7.44.tar.gz
[root@localhost mysql]# ls
mysql-5.7.44 mysql-boost-5.7.44.tar.gz
2.安裝環境依賴包
[root@localhost htdocs]# yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake openssl-develyum -y install \
gcc \
gcc-c++ \
ncurses \ #字符終端下圖形互動功能的動態庫
ncurses-devel \ #ncurses開發包
bison \ #語法分析器
cmake #mysql需要用cmake編譯安裝
----------------------------------------------------------------------------------------------------------
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake
3.配置軟件模塊?
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管理的文件存儲引擎選項:
MYISAM,MERGE,MEMORY,和CSV引擎是默認編譯到服務器中,并不需要明確地安裝。
靜態編譯一個存儲引擎到服務器,使用-DWITH_engine_STORAGE_ENGINE= 1
可用的存儲引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)
----------------------------------------------------------------------------------------------------------
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 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
注意:如果在CMAKE的過程中有報錯,當報錯解決后,需要把源碼目錄中的CMakeCache.txt文件刪除,然后再重新CMAKE,否則錯誤依舊
4.編譯及安裝?
make -j 4 && make install
這邊說個題外話,建議配置再高也選4核編譯,本人親測!!!!
14代i9 14900HX來了 6核試了幾次都報錯我都無語了= =,4核心屁事沒有五分鐘都不到編譯完了用時4分50秒.....
5.創建mysql用戶
cd /usr/local
useradd -M -s /sbin/nologin mysql
6.修改mysql 配置文件
rpm -qa | grep mariadbyum remove -y mariadb*
vim /etc/my.cnf[mysql]
port = 3306
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=4096
[mysql]
port = 3306
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=4096
default-storage-engine=INNODB
max_allowed_packet=32M
server-id = 1sql_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
?7.更改mysql安裝目錄和配置文件的屬主屬組
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf
8.設置路徑環境變量
[root@localhost mysql]# vim /etc/profile[root@localhost mysql]# source /etc/profile[root@localhost mysql]# echo $PATH
9.初始化數據庫
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \ #生成初始化密碼為空
--user=mysql \ #指定管理用戶
--basedir=/usr/local/mysql \ #指定數據庫的安裝目錄
--datadir=/usr/local/mysql/data #指定數據庫文件的存儲路徑
?
10.添加mysqld系統服務?
[root@localhost mysql]# cd /usr/local/mysql/[root@localhost mysql]# cd usr/[root@localhost usr]# cd lib/[root@localhost lib]# cd systemd/[root@localhost systemd]# cd system/[root@localhost system]# pwd
/usr/local/mysql/usr/lib/systemd/system[root@localhost system]# cp mysqld.service /usr/lib/systemd/system[root@localhost system]# systemctl daemon-reload[root@localhost system]# systemctl start mysqld[root@localhost system]# systemctl enable mysqld
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.[root@localhost system]# netstat -lntp | grep :3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 23349/mysqld
11.修改mysql 的登錄密碼
mysqladmin -u root password "abc123"
12.授權遠程登錄
四.編譯安裝PHP解析環境
1.將安裝PHP 所需軟件包傳到/opt目錄下
cd /opt/mkdir phpcd php/tar xf php-7.1.10.tar.bz2
2.安裝GD庫和GD庫關聯程序,用來處理和生成圖片?
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
?3.配置軟件模塊
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/usr/local/php/lib \
--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 \
--enable-zip
?4.編譯及安裝
我虛擬機6核的,千萬別超核編譯?
make -j 4 && make install
?5.復制模版文件作為PHP 的主配置文件,并進行修改
cd /usr/local/ln -s /usr/local/php/bin/* /usr/local/bin/
cp php.ini-production /usr/local/php/lib/php.inicd /usr/local/php/lib/
? ? ??
vim php.ini
?
6.優化把PHP 的可執行程序文件放入路徑環境變量的目錄中便于系統識別
php -m
7.修改httpd 服務的配置文件,讓apache支持PHP
vim httpd.confsystemctl restart httpd--393行--插入以下內容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
--258行--修改首頁文件名設置
DirectoryIndex index.html index.php
8.驗證PHP 測試頁
cd ..cd htdocs/vim index.php
五、安裝論壇?
1.創建數據庫,并進行授權
mysql -u root -pCREATE DATABASE bbs;
#創建一個數據庫GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
#把bbs數據庫里面所有表的權限授予給bbsamin,并設置密碼admin123flush privileges;
#刷新數據庫show databases;
?
2.解壓論壇壓縮包
unzip Discuz_X3.4_SC_UTF8.zip
?
3.更改論壇目錄的屬主?
?訪問:http://192.168.80.100/discuz/install

cd /usr/local/httpd/htdocs/discuzchown -R daemon config/ data/ uc_client/ uc_server/
?刷新一下?
?
?4.瀏覽器訪問驗證
六.安裝網站
1.將所需軟件包傳入編輯
tar xf wordpress-4.9.4-zh_CN.tar.gzcp -a wordpress /usr/local/httpd/htdocs/cd !$
?
2.創建wordpress專屬數據庫編輯?
mysql -u root -pabc123create database wordpress;show databases;flush privileges;
?
3.瀏覽器訪問驗證?
?
chown -R daemon wordpress/chown -R daemon:daemon wordpress/
?
老樣子刷新一下?
?