目錄php
lamp/lnmp 其實就是由Linux+Apache/Nginx+Mysql/MariaDB+Php/Perl/Python的一組動態網站或者服務器的開源軟件,除Linux外其它各部件自己都是各自獨立的程序,可是由於常常被放在一塊兒使用,擁有了愈來愈高的兼容度,共同組成了一個強大的Web應用程序平臺。html
web服務器的資源分爲兩種,靜態資源和動態資源
靜態資源就是指靜態內容,客戶端從服務器得到的資源的表現形式與原文件相同。能夠簡單的理解爲就是直接存儲於文件系統中的資源
動態資源則一般是程序文件,須要在服務器執行以後,將執行的結果返回給客戶端mysql
CGI:
程序=指令+數據
指令:代碼文件
數據:數據存儲系統、文件
CGI:Common Gateway Interface
可讓一個客戶端,從網頁瀏覽器經過http服務器向執行在網絡服務器上的程序傳輸數據;CGI描述了客戶端和服務器程序之間傳輸的一種標準
請求流程:
Client -- (httpd) --> httpd -- (cgi) -->application server (program file) -- (mysql) --> mysql
php: 腳本編程語言、嵌入到html中的嵌入式web程序語言
基於zend編譯成opcode(二進制格式的字節碼,重複運行,可省略編譯環境)linux
LAMP :
httpd :接受用戶的web請求;靜態資源則直接響應;動態資源爲php腳本,對此類資源的請求將交由php來運行
php:運行php程序
mysql:數據管理系統web
CGI
FastCGI
modules (將php編譯成爲httpd的模塊,默認方式)
MPM:
prefork: libphp5.so
event, worker: libphp5-zts.sosql
···
CentOS 7:
Modules:httpd, php, php-mysql, mariadb-server
FastCGI:httpd, php-fpm, php-mysql, mariadb-server
CentOS 6:
Modules:httpd, php, php-mysql, mysql-server
FastCGI:默認不支持
···數據庫
···
CentOS 6:
yum install httpd, php, mysql-server, php-mysql
service httpd start
service mysqld startapache
CentOS 7:
yum install httpd, php, php-mysql, mariadb-server
systemctl start httpd.service
systemctl start mariadb.service
注意:要使用prefork模型
···編程
編譯安裝http PHP mysql/mariadbvim
PhpMyAdmin是一個以PHP爲基礎,以Web-Base方式架構在網站主機上的MySQL的數據庫管理工具,讓管理者可用Web接口管理MySQL數據庫
WordPress是一種使用PHP語言開發的博客平臺,用戶能夠在支持PHP和MySQL數據庫的服務器上架設屬於本身的網站。也可把WordPress看成一個內容管理系統(CMS)來使用
yum -y install httpd mariadb-server php php-mysql systemctl start httpd systemctl start mariadb mysql_secure_installation 下載:https://www.phpmyadmin.net/downloads/ tar xvf phpMyAdmin-4.0.10.20-all-languages.tar.xz cd /var/www/html cd phpadmin/ cp config.sample.inc.php config.inc.php yum -y install php-mbstring systemctl reload httpd
下載地址:官網:https://cn.wordpress.org/ 解壓縮WordPress博客程序到網頁站點目錄下 unzip wordpress-4.3.1-zh_CN.zip 新建wpdb庫和wpuser用戶 mysql> create database wpdb; mysql> grant all privileges on wpdb.* to wpuser@'%' identified by "wppass"; 打開http://webserver/wordpress進行頁面安裝 注意wordpress目錄權限 Setfacl –R –m u:apache:rwx wordpress
CentOS7編譯Php-xcache加速訪問
官網:http://xcache.lighttpd.net/wiki/ReleaseArchive
安裝方法
rpm包:來自epel源
編譯安裝
編譯安裝
yum -y install php-devel 下載並解壓縮xcache-3.2.0.tar.bz2 phpize 生成編譯環境 cd xcache-3.2.0 ./configure --enable-xcache --with-php- config=/usr/bin/php-config make && make install cp xcache-3.2.0/xcache.ini /etc/php.d/ systemctl restart httpd.service
在centos7上編譯安裝LAMP:
···
mairadb:通用二進制格式,mariadb-5.5.56
httpd:編譯安裝,httpd-2.4.25
php5:編譯安裝,php-5.6.30
phpMyAdmin:安裝phpMyAdmin-4.4.15.10-all-languages
Xcache:編譯安裝xcache-3.2.0
php5.4依賴於mariadb-devel包
順序:mariadb-->httpd-->php
···
ftp://172.16.0.1/pub/Source/7.x86_64/mariadb/mariadb-5.5-46-linux-x86_64.tar.gz tar -xvf mariadb-5.5-46-linux-x86_64.tar.gz -C /usr/local cd /usr/local ls -sv mariadb-5.5.46-linux-x86_64 mysql cd mysql chown -R root.mysql /usr/local/mysql mkdir /opt/data -p chown -R mysql.mysql /opt/data mkdir /etc/mysql vim /etc/profile.d/mysql.sh export PATH=/usr/local/mysql/bin/:$PATH cp support-files/my-large.cnf /etc/mysql/my.cnf vim /etc/mysql/my.cnf [mysqld]加三行 datadir =/opt/data innodb_file_per_table = ON skip_name_resolve = ON scripts/mysql_install_db --user=mysql --datadir=/opt/data cp support-files/mysql.server /etc/rc.d/init.d/mysqld chkconfig --add mysqld service mysqld start /usr/local/mysql/bin/mysql 測試是否成功
groupadd -r apache useradd -r -s /sbin/nologin -g apache apache yum install pcre-devel apr-devel apr-util-devel openssl-devel tar -xvf httpd-2.4* -C /usr/src/ cd /usr/src/httpd-2.4*/ ./configure --prefix=/usr/local/apache -- sysconfdir=/etc/httpd --enable-so --enable-ssl -- enable-rewrite --with-zlib --with-pcre --with- apr=/usr --with-apr-util=/usr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork make -j 2 && make install echo 'export PATH=/usr/local/apache/bin/:$PATH' > /etc/profile.d/http.sh source /etc/profile.d/http.sh sed 's/#ServerName www.example.com:80/ServerName www.example.com:80/g' /etc/httpd/httpd.conf
注意httpd2.2作lamp,php版本必須爲5版本
官網下載源包 tar php-5.6* -C /usr/src/ yum install libxml2-devel bzip2-devel libmcrypt-devel -y ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-png-dir --with-jpeg-dir --with-freetype-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/app/httpd24/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 make -j 2 && make install
官網下載源包 tar php-7.1.7* -C /usr/src/ cd /usr/src/php-7.1.7/ ./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 --with-apxs2=/app/httpd24/bin/apxs --with-mcrypt -- with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-maintainer-zts --disable-fileinfo
注意:php-7.0以上版本使用--enable-mysqlnd --with-mysqli=mysqlnd ,原--with-mysql再也不支持