Ubuntu 搭建Web服務器(MySQL+PHP+Apache)詳細教程


Ubuntu 搭建Web服務器(MySQL+PHP+Apache)詳細教程

看了好多人的博客,有的不全 or 有問題,整理了一下,適合小白
新手先整理幾個小問題

1.為啥使用 Linux 搭建服務器?
一個是因為主流的雲服務器太貴,買個低配的容易崩,聽說 Linux 比較穩定,之后

2.PHP 和 Apache 啥關系?
一說到 php,  很多人會本能地想到 apache, 其 php 和 apache 沒有半毛錢的關系
php 是語言, 而apache是web服務器

3.What is LAMP?
LAMP:Linux+Apache+Mysql/MariaDB+Perl/PHP/Python

4.啥是 Linux 包管理器,為啥我的用不了?
(1)Linux 的常用包管理器 apt rpm yum 安裝系統時是沒有的,需要自己安裝,就類似 windows 里面的添加/刪除程序
(2)Ubuntu 默認的包管理器為 apt,而 rpm,yum 是 Redhat 的軟件包管理器
(3)Ubuntu 絕大多數用 apt 就夠了,當然也可以用 rpm yum 包管理器

1.安裝 rpm 

apt install rpm

2.安裝 yum

apt install yum

5.怎么查看 apt 管理的所有包,使用命令:

apt list

怎么查看 apt 所有已經安裝的包,使用命令:

apt list --installed

一、Ubuntu 安裝 MySQL

1.打開 Ubuntu 終端,使用下面速度命令進入管理員權限

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 netstat -tap | grep mysql

如果看到有 mysql 的socket處於 listen 狀態則表示安裝成功

5.登陸mysql數據庫可以通過如下命令:

mysql -u root -p 
-u 表示選擇登陸的用戶名, -p 表示登陸的用戶密碼,上面命令輸入之后會提示輸入密碼,此時輸入密碼就可以登錄到 mysql
(默認會有一個 root 用戶,密碼為空)

6.然后就可以查看當前的數據庫

show databases;

7.然后就是 MySQL 的一些操作了
分享我整理的 MySQL 常用命令:MySQL 常用命令大全

二、Ubuntu 安裝 Apache2

1.Ubuntu 安裝 Apache2

apt-get install apache2

輸入 Y 同意

2.檢查是否安裝成功,在瀏覽器輸入地址:

http:localhost

截圖:

3.apache 的默認的一些目錄
默認文檔根目錄是在 ubuntu 上的 /var/www 目錄
配置文件是 / etc/apache2/apache2.conf
配置存儲在的子目錄在/etc/apache2 目錄

4.我怎么手動開啟/關閉 Apache 服務器呢?
(一般 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

三、安裝安裝 php 7.0

1.這里安裝比較多,也是為了以后少一些麻煩,使用命令

sudo apt-get install software-properties-common

sudo add-apt-repository ppa:ondrej/php && 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

然后靜靜等待安裝完成

四、介紹 Nginx

1.什么是 Nginx ?
Nginx (engine x) 是一個高性能的 HTTP 和反向代理服務

2.不太懂,那 nginx 和 php 有什么關系?
php 是一門編程語言,但是只有 php 的話,你的 php 只能在你的服務器里的運行,比如你用 php 寫了一個可以通過身高計算人的標准體重的程序,雖然這個程序可以在服務器運行,但是他還不能和客戶交互,因為客戶現在還不能訪問你的 php 程序,他也不會去下載你的 php 程序到自己電腦里運行,他只想默默的通過瀏覽器告訴你他的身高,然后得到這個程序返回的體重,那么誰來得到這個用戶發送過來的請求呢,又怎么把請求數據轉發給對應的 php 程序呢 ?
nginx 就是為了解決上述問題而出現的,nginx 是一個已經寫好的程序,需要安裝配置,作用是專門接收處理客戶通過瀏覽器等發送來的請求,並和你寫的 php 程序交互,就這么簡單,但是 nginx 不僅可以和你寫的 php 程序交互,也可以和你寫的其他程序交互,比如 C,python,因為不是所有人都用 php 來寫 web 程序,簡單點說 nginx 是一個可以監聽處理 http 請求(瀏覽器請求)的程序,會裝會配置,知道流程就可以用了,當然深入了解下就更好了。

 這樣的話,nginx 就可以比喻處理成處理 http 請求業務的部門,是服務器和外部千千萬萬瀏覽器等客戶端進行溝通的關口。php 是服務器內部一個數據加工部門,可以加工生成各種頁面。客戶端發送的 http 請求歷經層層路由到達你的服務器,然后被nginx 逮個正着,統一聽候 nginx 大人的調度,如果客戶請求的是其他靜態資源,比如 txt 文本,圖片等,nginx 直接找到該資源,並返回給客戶端,如果客戶請求的是 php 程序,就找到對應的 php 程序,然后把客戶數據給這個程序,讓這個 php 程序運行一遍,再把這個程序運行的結果返回給客戶端。

  當然 nginx 和 php 具體交互並沒有那么簡單,還需要保證規范和高效,在數據交換上,需遵守統一的規范,這個好理解,大家統一數據格式才不會亂套,效率才會更高。

更多文章

轉載請注明出處:https://www.cnblogs.com/xpwi/p/9817440.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM