? ?
技術(shù)文檔 2021年3月14日
看了好多人的博客,有的不全 or 有問題,整理了一下,適合小白
新手先整理幾個小問題
1.為啥使用 Linux 搭建服務(wù)器?
一個是因為主流的云服務(wù)器太貴,買個低配的容易崩,聽說 Linux 比較穩(wěn)定,之后
2.PHP 和 Apache 啥關(guān)系?
一說到 ph6 \ K H 2 Q r ap, 很多人會本能地想到 apache, 其 php 和 apache 沒有半毛錢的關(guān)系
php 是語言, 而apache是web服務(wù)器
3.What is LAMP?
LAMP:Linux+Apache+Mysql/MariaDB+Perl/PHP/Python
4.啥是 Linux 包管理器,為啥我的用不了?
(1)Linux 的常用包管理器 apt rpm yum 安裝系統(tǒng)時是沒有的,需要自己安裝,就類似 windows 里面的添加/刪除程序
(2)Ubuntu 默認(rèn)的包管理器為 apt,而 rpm,yum 是 Redhat 的軟件包管理器
(3)Ubuntu 絕大多數(shù)用 apt 就夠了,當(dāng)然也可以用 rpm yum 包管理器
1.安裝 rpm
apt install rpm
2.安裝 yum
apt install yum
5.怎么查看 apt 管理的所有包,使用命令:
apt list
怎么查看 apt 所有已經(jīng)安裝的包,使用命令:
apt list --installed
1.打開 Ubuntu 終端,使用下面速度命令進(jìn)入管理員權(quán)限
sudo su
輸入系統(tǒng)的密碼
2.Ubuntu 上安裝 mysql 非常簡單只需要幾條命令就可以完成
apt-get install mysql-server
apt-get install mysql-client
apt-get install libmysqlclient-dev
執(zhí)行命令時會提示輸入 Y 表示同意
3.Ubuntu 安裝 net-tools
apt install net-tools
4.檢查是否安裝成功
sudo nT L = $ ) E letstat -tap | grep mysql
如果看到有 mysql 的socket處于 listj x ^en 狀態(tài)則表示安裝成功
5.登陸mysql數(shù)據(jù)庫可以通過如下命令:
mysql -u root -p
-ux { ] 表示選擇登陸的用戶名, -p 表示登陸的用戶密碼,上面命令輸入之后會提示輸入密碼,此時輸入密碼就可以登錄到 mysql
(默認(rèn)會有一個 root 用戶,密碼為空)

6.然后就可以查看當(dāng)前) U ] O的數(shù)據(jù)庫
show databases;

7.然后就是 MySQL 的一些操作了
分享我整理的 MySQL 常用命令:MySQL 常用命令大全
1.Ubuntu 安裝 Apache2
apt3 w O B u Q + - e-get install apache2
輸入 Y 同意
2.檢查是否安裝成功,在瀏覽器輸入地址:
http:localhost
截圖:
3.apache 的默認(rèn)的一些目錄
默認(rèn)文檔根目錄是在 ubuntu 上的 /var/6 ` l [ g 3 * 5 nwww 目錄
配置文件是 / etc/apache2/apache2.conf
配置存儲在的子目錄在/etc/apache2 目錄
4.我怎么手動開啟/關(guān)閉 Apache 服務(wù)器呢?
(一般 Apache 服務(wù)器會自動啟動)
(1)重啟 Apache 服務(wù)器(常用)
sudo /etc/init.d/apache2 restart
(2)開啟 Apache 服務(wù)器
sudo /etc/init.d/apache2 start
(3)關(guān)閉 Apache 服務(wù)器
sudo /etc/init.d/apache2 stop
1.這里安裝比較多,也是為了以后少一些麻煩,使用命令
sudo apt-get install software-properties-common
sudo addi 3 R + ! O _ g X-apt-repository ppa:ondrej/php &&amZ 6 Up; sudo apt-get update
sudo apt-get -y install php7.2
# 如果之前有其他版本PHP,在這邊禁用掉
sudo a2dismod php5
sudo a2enmod php7.2
# 安裝常用擴(kuò)展(建議安裝)
sudo apt-get -y install php7.2-fpm php7.2-mysql php7.2-curl php7.2-json php7.2-mbstring php7.2-xml php7.2-intl php7.2-odbc php7.2-cgi
# 安裝其他擴(kuò)展(按需要安裝)
sudo apt-get install php7.2-gd
sudo apt-get install php7.2-soap
sudo apt-get install php7.2-gmp
sudo apt-get install php7.2-pspell
sudo apt-get install php7.2-bcmath
sudo apt-get install php7.2-enchant
sudo apt-get install php7.2-imap
sudo apt-get install php7.2-ldap
sudo apt-get install php7.2-opcache
sudo apt-get install php7.2-readline
sudo apt-get install php7.2-sqlite3
sudo apt-get install php7.2-xmlrpc
sudo apt-get install php7.2-bz2
sudo apt-get install php7.2-interbase
sudo apt-get install php7.2-pgsql
sudo apt-get install php7.2-recode
sudo apt-get install php7.2-sybase
sudo apt-get install php7.2-xsl
sudo apt-get install php7.2-dba
sudo apt-get install php7.2-phpdbg
sudo apt-get install php7.2-snmp
sudo apt-get install php7.2-tidy
sudo apt-get install php7.2-zip
然后靜靜等待安裝完成
1.什么是 Nginx ?
Nginx (engine x) 是一個高性能的 HTTP 和反向代理服務(wù)
2.不太懂,那 nginx 和 php 有什么關(guān)系?
php 是一門編程語言,但是只有 php 的話,你的 php 只能在你的服務(wù)器里的運(yùn)行,比如你用 php 寫了一個可以通過身高計算人的標(biāo)準(zhǔn)體重的程序,雖然這個程序可以在服務(wù)器運(yùn)行,但是他還不能和客戶交互,因為客戶現(xiàn)在還不能訪問你的 php 程序,他也不會去下載你的 php 程序到自己電腦里運(yùn)行,他只想默默的通過瀏覽器告訴你他的身U 5 ! 3 1 =高,然后得到這個程- B j } t 8 - % P序返回的體重,那么誰來得到這個用戶發(fā)送過來的請求呢,又怎么把請求數(shù)據(jù)轉(zhuǎn)發(fā)給對應(yīng)的 php 程序呢 ?
nginx 就是為了解決上述問題而出現(xiàn)的,nginx 是一個已經(jīng)寫好的程序,需要安裝配置,作用是專門接收處理客戶通過瀏覽器等發(fā)送來的請求,并和你寫的 php 程序交互,就這么簡單,但是 nginx 不僅可以和你寫的 php 程序交互,也可以和你寫的其他程序交互,比如 C,python,因為不是所有人O = ! d ? 9 2都用 php 來寫 web 程序,簡單點(diǎn)說 nginx 是一個可以監(jiān)聽處理 http 請求(瀏覽器請求)的程序,會裝會配置,知道流程就可以用了,當(dāng)然深入了解下就更好了。
這樣的話,nginx 就可以比喻處理成處理 http 請求業(yè)務(wù)的部門,是服務(wù)器和外部千千萬萬瀏覽器等客戶端進(jìn)行溝通的關(guān)口。php 是服務(wù)器內(nèi)部一個數(shù)據(jù)加工部門,可以加工生成各種頁面。客戶端發(fā)送的 http 請求歷經(jīng)層層路由到達(dá)你的服務(wù)器,然后被nginx 逮個正著,統(tǒng)一聽候 nginx 大人的調(diào)度,如果客戶請求的是其他靜態(tài)資源,比如 txt 文本,圖片等,nginx 直接找到該資源,并返回給客戶端,如果客戶請求的是 php 程序,就找到對應(yīng)的 php 程序,然后把客戶數(shù)據(jù)給這個程序,讓這個 php 程序運(yùn)行一遍,再把這個程序運(yùn)行的結(jié)果返回給客戶端。
當(dāng)然 nginx 和 php 具體交互并沒有那么簡單,還需要保證規(guī)范和高效,在數(shù)據(jù)交換上,需遵守統(tǒng)一的規(guī)范,這個好理解,大家統(tǒng)一數(shù)據(jù)格式才不會亂套,效率才會更高。
關(guān)鍵詞: