日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

ecs php mysql集成环境_在阿里云 CentOS 服务器(ECS)上搭建 nginx + mysql + php-fpm 环境...

發(fā)布時(shí)間:2025/3/12 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ecs php mysql集成环境_在阿里云 CentOS 服务器(ECS)上搭建 nginx + mysql + php-fpm 环境... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

阿里云的云服務(wù)器(ECS)可以選擇多種操作系統(tǒng),打算用它運(yùn)行?Drupal或者?WordPress?,你最好選擇 Linux 系統(tǒng),這篇文章的演示是基于阿里云的?CentOS?操作系統(tǒng)的服務(wù)器。我們在上面搭建一個(gè)?nginx?+ mysql + php-fpm 的環(huán)境,這就是常說的 LNMP 。我們不過多解釋什么是什么,而是著重講流程與方法,想了解具體的細(xì)節(jié),去搜索下吧:)這個(gè)手冊是在阿里云上測試的,不過應(yīng)該也適用于其它使用 CentOS 系統(tǒng)的服務(wù)器。

背景

寧皓網(wǎng)的《?CentOS:在阿里云上運(yùn)行網(wǎng)站?》這個(gè)課程里面演示了在阿里云服務(wù)器上搭建 AMP 環(huán)境,也就是 Apache + MySQL + PHP,并且介紹了 Linux 系統(tǒng)的基本的操作,還有文件目錄權(quán)限的問題。這些非常重要,可以先看看。

這次想用 Nginx 代替 Apache 服務(wù)器,寧皓網(wǎng)現(xiàn)在用的是 Apache 服務(wù)器,最近出了點(diǎn)問題。所以想更換服務(wù)器的系統(tǒng),并且把 Web Server 換成 Nginx。順便也去學(xué)習(xí)一下環(huán)境的優(yōu)化,還有打算把?memcache?也用上,也可能會(huì)加上?varnish,我會(huì)把整個(gè)過程寫下來與大伙分享。下面開始第一步,創(chuàng)建一個(gè)阿里云服務(wù)器的實(shí)例。

創(chuàng)建服務(wù)器實(shí)例

創(chuàng)建一個(gè)服務(wù)器實(shí)例其實(shí)就是去購買一臺相應(yīng)配置的云服務(wù)器。注冊并登錄到阿里云的網(wǎng)站,在 產(chǎn)品服務(wù) 里選擇?云服務(wù)器 ECS ,點(diǎn)擊頁面上的 立即購買。可以 包年包月 的購買,也可以 按量付費(fèi),也就是用多少花多少,不過這種方式不支持網(wǎng)站的備案。

確定后,可以按需要去配置服務(wù)器,建議最初可以選擇最低配置,因?yàn)楹罄m(xù)升級也非常容易。選擇 CPU,內(nèi)存,帶寬,不同的配置價(jià)格不同。你還要選擇?地域 ,也就是云服務(wù)器所在的地方,目前只有 青島 與 杭州。再去選擇操作系統(tǒng),這篇文章所做的測試用的是?CentOS 6.3?64 位。需要的話可以再增加一塊數(shù)據(jù)盤,默認(rèn)會(huì)帶一個(gè)系統(tǒng)盤,一共 20 G ,足夠我們測試用了。

點(diǎn)擊?立即購買,預(yù)覽一下所選的服務(wù)器,然后?提交訂單。

選擇支付方式,然后點(diǎn)擊?確認(rèn)支付。

注意支付以后,可能會(huì)等一小會(huì)兒訂單才能生效。至少我是等了一會(huì)兒,也可能是因?yàn)槲矣玫氖謾C(jī)版的支付寶。支付成功以后,打開你的個(gè)人賬戶頁面,選擇 管理控制臺,在這里,你可以找到購買的云服務(wù)器。云服務(wù)器默認(rèn)的?root(超級管理員) 用戶的密碼,會(huì)發(fā)送到你的手機(jī)上,你也可以點(diǎn)擊?修改密碼,去修改 root 用戶密碼。

在這個(gè)界面,你還可以 停止 ?或 重啟 去服務(wù)器。也可以找到你的服務(wù)器的公眾的 IP 地址。我購買的這臺服務(wù)器地址是 218.244.147.196,使用這個(gè)地址配合 root 用戶和密碼,你可以使用工具登錄到服務(wù)器,對它進(jìn)行遠(yuǎn)程管理,比如安裝軟件,修改設(shè)置,重啟服務(wù)等等。

遠(yuǎn)程控制你的服務(wù)器

遠(yuǎn)程控制 Linux 類型的系統(tǒng)的服務(wù)器,比如 CentOS 系統(tǒng)的服務(wù)器,一般不像 Windows 服務(wù)器那樣,使用圖形界面的遠(yuǎn)程控制。我們需要使用命令行工具,遠(yuǎn)程連接到服務(wù)器,然后使用命令去控制服務(wù)器。Windows 用戶可以使用?Putty,Mac 用戶可以使用系統(tǒng)自帶的終端工具。然后用 ssh 命令,連接到你的服務(wù)器。像這樣:

ssh root@218.244.147.196

@ 左邊的 root 是連接時(shí)使用的用戶的名字,@ 右邊的數(shù)字是你的服務(wù)器的 IP 地址。這行命令的意思就是,使用 root 用戶,登錄到?218.244.147.196 這臺服務(wù)器上。回車以后,會(huì)提示你輸入 root 用戶的密碼(這個(gè)密碼阿里云會(huì)發(fā)送到你手機(jī)上)。

安裝 Nginx

想在 CentOS 系統(tǒng)上安裝 Nginx ,你得先去添加一個(gè)資源庫,像這樣:

vim /etc/yum.repos.d/nginx.repo

使用 vim 命令去打開 /etc/yum.repos.d/nginx.repo ,如果 nginx.repo 不存在,就會(huì)去創(chuàng)建一個(gè)這樣的文件,打開以后按一下小 i 鍵,進(jìn)入編輯模式,然后復(fù)制粘貼下面這幾行代碼,完成以后按 esc 鍵退出,再輸入 :wq (保存并退出)

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=0

enabled=1

完成以后,我們就可以使用 yum 命令去安裝 nginx 了,像這樣:

yum install nginx

安裝好以后測試一下 nginx 服務(wù):

service nginx status

應(yīng)該會(huì)返回:

nginx is stopped (nginx 已停止)

再測試一下 nginx 的配置文件:

nginx -t

應(yīng)該會(huì)返回:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

... syntax is ok,...?test is successful,說明配置文件沒問題,同時(shí)這個(gè)結(jié)果里你可以找到 nginx 的配置文件 nginx.conf 所在的位置。

操縱 nginx 服務(wù)

操縱服務(wù),可以使用使用 service 命令,它可以啟動(dòng)(start),重啟(restart),或停止服務(wù)(stop),比如要啟動(dòng) nginx 服務(wù):

service nginx start

服務(wù)啟動(dòng)以后,你就可以在瀏覽器上使用服務(wù)器的 IP 地址,或者指向這個(gè)地址的域名訪問服務(wù)器指定的目錄了。你會(huì)看到類似下面的這些文字。

Welcome to nginx! If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.

配置 nginx 虛擬主機(jī)

安裝完 nginx 以后,第一件想到的事應(yīng)該就是去創(chuàng)建虛擬主機(jī),虛擬主機(jī)允許我們在同一臺服務(wù)器上運(yùn)行多個(gè)網(wǎng)站,我們可以為不同的域名綁定不同的目錄,訪問這個(gè)域名的時(shí)候,會(huì)打開對應(yīng)目錄里面的東西。之前介紹過為?Apache 服務(wù)器創(chuàng)建虛擬主機(jī),下面來看一下為 nginx 配置虛擬主機(jī)。先進(jìn)入到 nginx 配置文件目錄:

cd?/etc/nginx/conf.d

復(fù)制這個(gè)目錄里的?default.conf?,復(fù)制以后的名字可以使用你的虛擬主機(jī)名字。比如創(chuàng)建一個(gè) nginx.ninghao.net 的虛擬主機(jī)。復(fù)制文件可以使用 cp 命令,像這樣:

cp default.conf nginx.ninghao.net.conf

再去編輯一下這個(gè)復(fù)制以后的配置文件,可以使用 vim 命令:

vim nginx.ninghao.net.conf

你會(huì)看到像這樣的代碼:

server {

listen 80;

server_name localhost;

#charset koi8-r;

#access_log /var/log/nginx/log/host.access.log main;

location / {

root /usr/share/nginx/html;

index index.html index.htm;

}

...

}

server_name?就是主機(jī)名,也就是跟這個(gè)虛擬主機(jī)綁定在一塊兒的域名,我事先把?nginx.ninghao.net?指向了服務(wù)器,這個(gè)虛擬主機(jī)就是為它準(zhǔn)備的,所以,server_name?后面的東西就是?nginx.ninghao.net?。緊接著?server_name?下面可以是一個(gè)?root,就是這個(gè)虛擬主機(jī)的根目錄,也就是網(wǎng)站所在的目錄。比如我們要把?nginx.ninghao.net?這個(gè)網(wǎng)站的文件放在/home/www/nginx.ninghao.net?下面,那么這個(gè)?root?就是這個(gè)路徑。

然后去掉 location / 里面的 root 這行代碼。再在 index 后面加上一種索引文件名,也就是默認(rèn)打開的文件,這里要加上一個(gè) index.php ,這樣訪問 nginx.ninghao.net 就可以直接打開 root 目錄下面的 index.php 了。稍后我們再去安裝 php 。修改之后,看起來像這樣:

server {

listen 80;

server_name nginx.ninghao.net;

root /home/www/nginx.ninghao.net;

#charset koi8-r;

#access_log /var/log/nginx/log/host.access.log main;

location / {

index index.php index.html index.htm;

}

...

}

這個(gè)配置文件先修改到這,稍后,我們再回來繼續(xù)修改一下它。保存一下,按?esc?,輸入?:wp(保存并退出)。現(xiàn)在虛擬主機(jī)應(yīng)該就可以使用了。主機(jī)的域名是?nginx.ninghao.net,訪問它的時(shí)候,打開的是?/home/www/nginx.ninghao.net?這個(gè)目錄里面的東西,你可以在這個(gè)目錄下放點(diǎn)東西。

重啟 nginx 或者重新加載 nginx 可以讓配置文件生效。

service nginx reload

現(xiàn)在,打開瀏覽器,輸入你為虛擬主機(jī)設(shè)置的域名,看看是否能打開你指定的目錄里的東西。

配置 php-fpm

要讓 nginx 能夠執(zhí)行 php 文件,需要去安裝一下?php-fpm,它直接包含在了 CentOS 資源庫里,所以直接使用 yum 命令可以安裝它:

yum install php-fpm

完成以后,可以檢查一下 php-fpm 的運(yùn)行狀態(tài),使用?service?命令:

service php-fpm status

返回:

php-fpm is stopped(php-fpm 已停止)

啟動(dòng) php-fpm 同樣可以使用service?命令:

service php-fpm start

讓 nginx 可以執(zhí)行 php

現(xiàn)在我們應(yīng)該就可以讓 nginx 去執(zhí)行 php 了。不過你需要修改一下 nginx 的配置文件,之前我們在配置虛擬主機(jī)的時(shí)候,創(chuàng)建了一個(gè)?nginx.ninghao.net.conf?的配置文件,需要去修改下 nginx 的這個(gè)配置文件,才能去執(zhí)行 php 。使用?vim?命令去編輯它:

vim?/etc/nginx/conf.d/nginx.ninghao.net.conf

注意你的配置文件不一定叫 nginx.ninghao.net.conf,應(yīng)該是你自己命名的配置文件。打開以后,找到下面這段字樣的代碼:

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

#location ~ \.php$ {

# root html;

# fastcgi_pass 127.0.0.1:9000;

# fastcgi_index index.php;

# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

# include fastcgi_params;

#}

這是 nginx 默認(rèn)給我們的用來執(zhí)行 php 的配置,從 location 開始取消注釋,會(huì)讓這個(gè)配置生效,然后我們還得簡單去修改一下:

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

location ~ \.php$ {

# root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

注意 root 那里仍然是被注釋掉的,還有 SCRIPT_FILENAME 后面修改了一下,把 /scripts 換成了$document_root?。保存并退出。然后重新啟動(dòng) nginx:

service nginx restart

測試是否可以執(zhí)行 php

現(xiàn)在,我們已經(jīng)安裝了 php-fpm,并修改了 nginx 的配置文件讓它可以去執(zhí)行 php,下面,我們得去測試一下,可以使用 php 的?phpinfo();?函數(shù),方法是在你的虛擬主機(jī)根目錄下面,創(chuàng)建一個(gè) php 文件,命名為?phpinfo.php,然后在這個(gè)文件里輸入:

保存文件并退出。在瀏覽器里打開剛才創(chuàng)建的這個(gè) php 文件。我這里應(yīng)該是

為系統(tǒng)添加資源庫

前面我們使用?yum?命令去安裝了一些東西,用起來很簡單,yum + 要安裝的東西 + install。它其實(shí)是一個(gè)資源包的管理工具,用它安裝東西的時(shí)候,會(huì)檢查這個(gè)東西所依賴的其它的東西,在安裝的同時(shí),也會(huì)去安裝這些被依賴的東西。CentOS 本身帶了一些資源庫,但并不是所有的東西都在這些資源庫里,所以,我們可以給系統(tǒng)手工的添加一些資源庫,這樣使用 yum 命令,就可以很方便的去安裝在資源庫里的東西了。

在這里可以找到可用的資源庫:http://iuscommunity.org/pages/Repos.html?,你要根據(jù)自己的系統(tǒng)的版本去下載對應(yīng)的資源庫,然后安裝在系統(tǒng)里面。查看系統(tǒng)的版本可以這樣做:

cat /etc/redhat-release

我這里使用的是 CentOS 系統(tǒng),所以返回了:

CentOS release 6.3 (Final)

說明我用的是?CentOS 6?,并且是 64 位的,打開上面的資源庫地址,找到?Release Packages?,然后找到?CentOS 6?這個(gè)區(qū)域下面的鏈接,我們用這個(gè)?epel?資源庫。打開這個(gè)地址以后,復(fù)制?Packages?下面的鏈接?epel-release-6-5.noarch?。然后回到我們連接到服務(wù)器的終端工具,Windows 用戶應(yīng)該用的是?putty?。用 cd 命令進(jìn)入到一個(gè)目錄里面,比如用戶的根目錄,可以這樣:

cd ~

然后使用?wget?命令,把剛才復(fù)制的鏈接里的資源庫下載下來:

wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/epel-release-6-5.noarch.rpm

用ls?命令可以查看一下當(dāng)前這個(gè)目錄下面的東西,你應(yīng)該可以看到?epel-release-6-5.noarch.rpm(也或者是你選擇要下載的資源庫)。下載好以后,去安裝一下:

rpm -ivh epel-release-6-5.noarch.rpm

查看一下系統(tǒng)里面的資源庫:

yum repolist

你會(huì)看到?epel?這個(gè)資源庫,它就是我們剛才安裝的。系統(tǒng)里的資源庫地址是在:/etc/yum.repos.d,在這里,你同樣可以找到epel.repo。這樣我們就可以使用?yum?命令去安裝更多的東西了。

安裝 mysql

mysql 可以管理網(wǎng)站用到的數(shù)據(jù)庫,WordPress 和 Drupal 也都支持 mysql 數(shù)據(jù)庫。所以我們的 Web 運(yùn)行環(huán)境里,需要安裝一個(gè) mysql 。之前我們已經(jīng)添加了資源庫,所以可以直接使用 yum 命令去安裝 ?mysql :

yum install mysql-server

安裝完成后,使用 service 命令啟動(dòng) mysql 服務(wù):

service mysqld start

然后我們需要簡單配置一下 mysql ,默認(rèn)安裝以后 mysql 的 root 用戶是沒有密碼的,對于生產(chǎn)環(huán)境來說,這肯定是不行的,另外還有一些安全相關(guān)的設(shè)置,可以使用下面這行命令去配置一下,它是一個(gè)向?qū)?#xff0c;問你一些問題,你要給出答案,比如是否要設(shè)置 root 用戶的密碼, 密碼是什么等等。

mysql_secure_installation

Enter current password for root (enter for none):

解釋:輸入當(dāng)前 root 用戶密碼,默認(rèn)為空,直接回車。

Set root password? [Y/n] ?y

解釋:要設(shè)置 root 密碼嗎?輸入 y 表示愿意。

Remove anonymous users? [Y/n] ?y

解釋:要移除掉匿名用戶嗎?輸入 y 表示愿意。

Disallow root login remotely? [Y/n] ?y

解釋:不想讓 root 遠(yuǎn)程登陸嗎?輸入 y 表示愿意。

Remove test database and access to it? [Y/n] ?y

解釋:要去掉 test 數(shù)據(jù)庫嗎?輸入 y 表示愿意。

Reload privilege tables now? [Y/n] ?y

解釋:想要重新加載權(quán)限嗎?輸入 y 表示愿意。

安裝 php 擴(kuò)展

現(xiàn)在,我們有了可以提供 web 服務(wù)的 nginx ,并且安裝了 php-fpm ,配置了 nginx 可以讓它去執(zhí)行 php ,也安裝了數(shù)據(jù)庫管理系統(tǒng)。不過在運(yùn)行真正的網(wǎng)站的時(shí)候,我們還需要為 php 安裝一些額外的擴(kuò)展,比如 處理 mysql 數(shù)據(jù)庫的?mysql?擴(kuò)展,緩存功能的?apc?擴(kuò)展,處理圖像的gd?擴(kuò)展等等。安裝它們同樣可以使用 yum 命令。

yum?install php-pecl-apc php-mysql?php-gd?php-mcrypt?php-pear?php-mbstring?php-xmlrpc?php-dom

上面安裝了一些 php 的擴(kuò)展,如果你發(fā)現(xiàn)在安裝網(wǎng)站的時(shí)候提示需要安裝其它的擴(kuò)展,同樣可以使用 yum 命令去安裝。安裝完成以后,需要重啟一下 php-fpm :

service php-fpm restart

目錄與文件的權(quán)限問題

網(wǎng)站上面有些目錄或文件需要有寫入權(quán)限,這樣你得為這些目錄和文件分配合適的權(quán)限,一般可以把它們的擁有者設(shè)置成 php 和 nginx 使用的用戶,默認(rèn) nginx 的用戶就是?nginx?,而 php-fpm 使用的用戶默認(rèn)是?apache。我們可以把它們改成一個(gè)統(tǒng)一的用戶,可以修改 php-fpm 的用戶為?nginx?。你可以使用下面的命令去查看一下 nginx 和 php-fpm 所使用的用戶名:

ps aux|grep php

ps aux|grep nginx

修改所使用的用戶,可以通過使用 nginx 和 php-fpm 的配置文件,nginx 的配置文件是:?/etc/nginx/nginx.conf?,php-fpm 的配置文件是:/etc/php-fpm.conf,還有在?/etc/php-fpm.d/*?這個(gè)目錄里的所有文件都是 php-fpm 的配置文件。默認(rèn)這個(gè)目錄里有一個(gè)?vim?命令:

vim /etc/php-fpm.d/www.conf

打開文件以后你可以搜索下關(guān)鍵詞?user?或?apache,輸入?:/user?或:/apache?,會(huì)搜索到結(jié)果,按小?n?可以繼續(xù)向下查找,按大N?可以向上查找。直到你看到:

user = apache

把它修改成:

user=nginx

esc 退出,再輸入?:wq?,重啟下 php-fpm,這樣我們的 nginx 服務(wù)器還有 php-fpm 會(huì)使用同一個(gè)用戶:nginx,你可以把要可以有寫入權(quán)限的目錄與文件的擁有者修改成?nginx?就行了。可以使用chown?命令:

chown -R nginx 目錄名/文件名

總結(jié)

好來,現(xiàn)在我們就已經(jīng)擁有一臺 LNMP 環(huán)境的服務(wù)器了。這個(gè)操作手冊里提供到的相關(guān)配置,還有很多可以優(yōu)化一下,比如 nginx 的配置文件,可以針對 Drupal 來做一些優(yōu)化。在后續(xù)的文章里面,我會(huì)再詳細(xì)的去解釋一下這些配置文件的使用。

總結(jié)

以上是生活随笔為你收集整理的ecs php mysql集成环境_在阿里云 CentOS 服务器(ECS)上搭建 nginx + mysql + php-fpm 环境...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。