天天看點

推薦閱讀 | 如何部署 LAMP & LNMP網站架構實踐?什麼是 LAMP & LNMP?

什麼是 LAMP & LNMP?

LAMP = Linux + Apache + MySQL + PHP

LNMP = Linux + Nginx + MySQL + PHP

  • 流行,免費,開源,輕量
  • Linux VS Windows: 完全免費,穩定高效
  • MySQL: 關系型資料庫
  • Apache:Web伺服器軟體
  • 監聽端口,接收請求,解析HTTP協定,轉發給PHP

Nginx 伺服器軟體

Apache & Nginx:

前景更好,配置輕松,性能更優

Apache: select輪詢機制

Nginx: epoll事件監聽機制

編譯安裝

./configure  # 編譯前準備
make         # 編譯
make install # 安裝           

複制

安裝依賴軟體

yum install -y vim wget gcc gcc++ libxml2-devel           

複制

編譯安裝php

1、下載下傳

https://www.php.net/downloads.php

wget https://www.php.net/distributions/php-7.3.11.tar.gz
tar -zxvf php-7.3.11.tar.gz
cd php-7.3.11           

複制

2、編譯安裝

啟用支援FPM FastCGI

https://www.php.net/manual/zh/install.fpm.install.php

./configure --prefix=/usr/local/php7 --enable-fpm
make && make install           

複制

CGI 公共網關接口,一個協定 fork子程序,處理完釋放

FastCGI 語言無關,解釋器子程序常駐在記憶體

FPM PHP擴充

$ php -r "phpinfo();"           

複制

MySQL

1、下載下傳

https://dev.mysql.com/downloads/mysql/

source code

-> Generic Linux (Architecture Independent), Compressed TAR Archive

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18.tar.gz           

複制

2、安裝依賴

yum install -y cmake gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel           

複制

3、安裝

cmake \
 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
 -DMYSQL_DATADIR=/data/mysql/data \
 -DSYSCONFDIR=/etc \
 -DMYSQL_USER=mysql \
 -DWITH_MYISAM_STORAGE_ENGINE=1 \
 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
 -DWITH_MEMORY_STORAGE_ENGINE=1 \
 -DWITH_READLINE=1 \
 -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \
 -DMYSQL_TCP_PORT=3306 \
 -DENABLED_LOCAL_INFILE=1 \
 -DENABLE_DOWNLOADS=1 \
 -DWITH_PARTITION_STORAGE_ENGINE=1 \
 -DEXTRA_CHARSETS=all \
 -DDEFAULT_CHARSET=utf8 \
 -DDEFAULT_COLLATION=utf8_general_ci \
 -DWITH_DEBUG=0 \
 -DMYSQL_MAINTAINER_MODE=0 \
 -DWITH_SSL:STRING=bundled \
 -DWITH_ZLIB:STRING=bundled

make && make install           

複制

4、啟動使用

mysqld

mysql           

複制

Apache

1、下載下傳

http://httpd.apache.org/

依賴:apr apr-util pcre

wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.41.tar.gz
tar -zxvf  httpd-2.4.41.tar.gz
cd httpd-2.4.41           

複制

2、編譯安裝(配置必要的參數略)

./configure
make && make install           

複制

3、啟動

apachetcl -k start           

複制

開放80端口sudo

firewall-cmd --zone=public --add-port80/tcp --permanent
systemctl restart firewalld.service           

複制

Nginx

1、下載下傳

http://nginx.org/en/download.html

# 下載下傳
wget  http://nginx.org/download/nginx-1.16.1.tar.gz
tar -zxvf nginx-1.16.1.tar.gz

# 安裝 pcre url重寫功能
./configure --prefix=/usr/local/nginx --with-pcre=/pcre
make && make install

# 啟動
./nginx           

複制

工作方式

請求 <-> Nginx <-> PHP-FPM           

複制

配置

location ~ \.php {
         fastcgi_pass 127.0.0.1:9000;
         fastcgi_index  index.php;
         fastcgi_split_path_info ^(.+?\.php)(/.*)$;
         fastcgi_param PATH_INFO $fastcgi_path_info; 
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
         include        fastcgi_params;
    }           

複制

配置php-fpm

php-fpm.conf

pm = dynamic 設定動态解析
pm.max_children = 5 最大可以啟動多少程序
pm.start_servers = 2 預設啟動幾個程序           

複制

配置Nginx

nginx.conf

worker_processes 1; (啟動多少子程序)           

複制

重新開機

nginx -s reload           

複制

檢視程序

ps aux|grep nginx



PS:剩下的就是雲上如何建構網站架構主體,上傳網站,靜态html頁面也行
總之,網站底座已搭建完成,之上的網站可以多種多樣,看個人創新,最新位址,歡迎大家參與應用,謝謝           

複制