技術文檔 2021年3月14日
看了好多人的博客,有的不全 or 有問題,整理了一(yī)下(xià),适合小(xiǎo)白(bái)
新手先整理幾個小(xiǎo)問題
1.爲啥使用 Linux 搭建服務器?
一(yī)個是因爲主流的雲服務器太貴,買個低配的容易崩,聽說 Linux 比較穩定,之後
2.PHP 和 Apache 啥關系?
一(yī)說到 ph6 \ K H 2 Q r ap, 很多人會本能地想到 apache, 其 php 和 apache 沒有半毛錢的關系
php 是語言, 而apache是web服務器
3.What is LAMP?
LAMP:Linux+Apache+Mysql/MariaDB+Perl/PHP/Python
4.啥是 Linux 包管理器,爲啥我(wǒ)的用不了?
(1)Linux 的常用包管理器 apt rpm yum 安裝系統時是沒有的,需要自己安裝,就類似 windows 裏面的添加/删除程序
(2)Ubuntu 默認的包管理器爲 apt,而 rpm,yum 是 Redhat 的軟件包管理器
(3)Ubuntu 絕大(dà)多數用 apt 就夠了,當然也可以用 rpm yum 包管理器
1.安裝 rpm
apt install rpm
2.安裝 yum
apt install yum
5.怎麽查看 apt 管理的所有包,使用命令:
apt list
怎麽查看 apt 所有已經安裝的包,使用命令:
apt list --installed
1.打開 Ubuntu 終端,使用下(xià)面速度命令進入管理員權限
sudo su
輸入系統的密碼
2.Ubuntu 上安裝 mysql 非常簡單隻需要幾條命令就可以完成
apt-get install mysql-server
apt-get install mysql-client
apt-get install libmysqlclient-dev
執行命令時會提示輸入 Y 表示同意
3.Ubuntu 安裝 net-tools
apt install net-tools
4.檢查是否安裝成功
sudo nT L = $ ) E letstat -tap | grep mysql
如果看到有 mysql 的socket處于 listj x ^en 狀态則表示安裝成功
5.登陸mysql數據庫可以通過如下(xià)命令:
mysql -u root -p
-ux { ] 表示選擇登陸的用戶名, -p 表示登陸的用戶密碼,上面命令輸入之後會提示輸入密碼,此時輸入密碼就可以登錄到 mysql
(默認會有一(yī)個 root 用戶,密碼爲空)
6.然後就可以查看當前) U ] O的數據庫
show databases;
7.然後就是 MySQL 的一(yī)些操作了
分(fēn)享我(wǒ)整理的 MySQL 常用命令:MySQL 常用命令大(dà)全
1.Ubuntu 安裝 Apache2
apt3 w O B u Q + - e-get install apache2
輸入 Y 同意
2.檢查是否安裝成功,在浏覽器輸入地址:
http:localhost
截圖:
3.apache 的默認的一(yī)些目錄
默認文檔根目錄是在 ubuntu 上的 /var/6 ` l [ g 3 * 5 nwww 目錄
配置文件是 / etc/apache2/apache2.conf
配置存儲在的子目錄在/etc/apache2 目錄
4.我(wǒ)怎麽手動開啓/關閉 Apache 服務器呢?
(一(yī)般 Apache 服務器會自動啓動)
(1)重啓 Apache 服務器(常用)
sudo /etc/init.d/apache2 restart
(2)開啓 Apache 服務器
sudo /etc/init.d/apache2 start
(3)關閉 Apache 服務器
sudo /etc/init.d/apache2 stop
1.這裏安裝比較多,也是爲了以後少一(yī)些麻煩,使用命令
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
# 安裝常用擴展(建議安裝)
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
# 安裝其他擴展(按需要安裝)
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) 是一(yī)個高性能的 HTTP 和反向代理服務
2.不太懂,那 nginx 和 php 有什麽關系?
php 是一(yī)門編程語言,但是隻有 php 的話,你的 php 隻能在你的服務器裏的運行,比如你用 php 寫了一(yī)個可以通過身高計算人的标準體重的程序,雖然這個程序可以在服務器運行,但是他還不能和客戶交互,因爲客戶現在還不能訪問你的 php 程序,他也不會去(qù)下(xià)載你的 php 程序到自己電腦裏運行,他隻想默默的通過浏覽器告訴你他的身U 5 ! 3 1 =高,然後得到這個程- B j } t 8 - % P序返回的體重,那麽誰來得到這個用戶發送過來的請求呢,又(yòu)怎麽把請求數據轉發給對應的 php 程序呢 ?
nginx 就是爲了解決上述問題而出現的,nginx 是一(yī)個已經寫好的程序,需要安裝配置,作用是專門接收處理客戶通過浏覽器等發送來的請求,并和你寫的 php 程序交互,就這麽簡單,但是 nginx 不僅可以和你寫的 php 程序交互,也可以和你寫的其他程序交互,比如 C,python,因爲不是所有人O = ! d ? 9 2都用 php 來寫 web 程序,簡單點說 nginx 是一(yī)個可以監聽處理 http 請求(浏覽器請求)的程序,會裝會配置,知(zhī)道流程就可以用了,當然深入了解下(xià)就更好了。
這樣的話,nginx 就可以比喻處理成處理 http 請求業務的部門,是服務器和外(wài)部千千萬萬浏覽器等客戶端進行溝通的關口。php 是服務器内部一(yī)個數據加工(gōng)部門,可以加工(gōng)生(shēng)成各種頁面。客戶端發送的 http 請求曆經層層路由到達你的服務器,然後被nginx 逮個正着,統一(yī)聽候 nginx 大(dà)人的調度,如果客戶請求的是其他靜态資源,比如 txt 文本,圖片等,nginx 直接找到該資源,并返回給客戶端,如果客戶請求的是 php 程序,就找到對應的 php 程序,然後把客戶數據給這個程序,讓這個 php 程序運行一(yī)遍,再把這個程序運行的結果返回給客戶端。
當然 nginx 和 php 具體交互并沒有那麽簡單,還需要保證規範和高效,在數據交換上,需遵守統一(yī)的規範,這個好理解,大(dà)家統一(yī)數據格式才不會亂套,效率才會更高。
關鍵詞: