1. 程式人生 > >阿里雲ECS 搭建 Linux+Nginx+Mysql+PHP環境 & 部署php的laravel專案

阿里雲ECS 搭建 Linux+Nginx+Mysql+PHP環境 & 部署php的laravel專案

阿里雲買ECS的時候選擇自己習慣的映象系統,我一般都是使用Linux Ubuntu,所以,以下的配置都是在Ubuntu 14.04穩定支援版的環境中搭建Linux+Nginx+Mysql+PHP環境的

首先,在一般的情況下,剛剛購買的阿里雲ECS的Linux中會給你預裝Apache,我們先把它給刪了

刪除完之後,更新一下包列表

1

sudo apt-get update

1.安裝Nginx

1

sudo apt-get install nginx

安裝完Nginx,執行

1

sudo service nginx start

再在瀏覽器位址列輸入你的公網IP,你就可以看的welcome to Nginx的介面了

2.安裝Mysql

1

sudo apt-get install mysql-server mysql-client

過程中會提示你設定Mysql的密碼,就跟平時的密碼設定一樣,一

次輸入,一次確認。密碼確認完畢後基本等一會就安裝好了。嘗試

1

mysql -u root -p

如果登入成功,那Mysql就正確安裝了。

a.

1

vim /etc/mysql/my.cnf

找到:

1

bind-address           = 127.0.0.1

    這行,註釋掉(如下)

1

#bind-address           = 127.0.0.1

    或者改為

1

bind-address           = 0.0.0.0

    允許任意IP訪問,或者自己指定一個IP地址。

b.然後重啟 MySQL

1

sudo service mysql restart

c.授權使用者遠端登入

1

2

3

4

mysql -u root -p;

use mysql;

grant all privileges on *.* to [email protected]"%" identified by "password" with grant option;

flush privileges;

   第一行命令解釋如下,*.*:第一個*代表資料庫名;第二個*代表表名。這裡的意思是所有資料庫裡的所有表都授權給使用者。

    root:授予root賬號。

“%”:表示授權的使用者IP可以指定,這裡代表任意的IP地址都能訪問MySQL資料庫。

    password”:分配賬號對應的密碼。

d.通過mysql客戶端連線到遠端的MySQL資料庫

    在自己本地mysql客戶端中輸入:

1

mysql -h ip -u root -p;

   其中ip是你訪問資料庫所在伺服器的IP地址

3.安裝PHP

1

sudo apt-get install php5-fpm php5-cli php5-mcrypt

只有通過php5-fpm,PHP在Nginx下才能正常執行,遂,安裝之。

至於php5-mcrypt,有些PHP框架會依賴於這個,比如Laravel就是,所以也把它裝上了。

4.配置PHP

1

sudo vim /etc/php5/fpm/php.ini

開啟PHP配置檔案,找到cgi.fix_pathinfo選項,去掉它前面的註釋分號;,然後將它的值設定為0,如下

1

cgi.fix_pathinfo=0

5.啟用php5-mcrypt:

1

sudo php5enmod mcrypt

6.重啟php5-fpm:

1

sudo service php5-fpm restart

在搭建完LEMP環境之後,首先要明確兩個重要目錄

Nginx的預設root資料夾

/usr/share/nginx/html

Nginx的伺服器配置檔案所在目錄

/etc/nginx/sites-available/

上面兩個目錄記住就好,很常用,先擺出來

下面一步一步在阿里雲ECS上部署Laravel

1.建立網站的根目錄

1

sudo mkdir -p /var/www

2.配置nginx伺服器

1

sudo vim /etc/nginx/sites-available/default

開啟nginx的配置檔案之後,找到server這一塊,大概是長這個樣子的

1

2

3

4

5

6

7

8

9

10

server {

listen80 default_server;

listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;

index index.html index.htm;

server_name localhost;

location / {

try_files$uri$uri/ =404;

}

}

其中root,index ,server_name和location這幾行需要稍微修改一下

root修改

root /var/www/laravel/public;

這裡就是將nginx伺服器的根目錄指向Laravel的public資料夾下,後續的Laravel專案的程式碼我們會放在我們之前建立的/var/www/laravel目錄下

index修改

indexindex.php index.html index.htm;

這裡需要注意的是,index.php排在最前面

server_name修改

server_name server_domain_or_IP;

將server_domain_or_IP修改為你的公網IP

location修改

1

2

3

location / {

try_files$uri$uri/ /index.php?$query_string;

}

修改完是這樣的:

1

2

3

4

5

6

7

8

9

10

server {

listen 80;

listen [::]:80;

root /var/www/laravel/public;

index index.php index.html index.htm;

server_name a.com;

location / {

try_files $uri $uri/ /index.php?$query_string;

}

}

最後我們還需要配置一下Nginx,讓其執行PHP檔案。同樣是在這個檔案裡,在location下方新增下面的配置:

1

2

3

4

5

6

7

8

9

10

server {

listen 80;

listen [::]:80;

root /var/www/laravel/public;

index index.php index.html index.htm;

server_name a.com;

location / {

try_files $uri $uri/ /index.php?$query_string;

}

}

注意,這一塊是自己加上去的:

1

2

3

4

5

6

7

8

location~ \.php$ {

try_files $uri /index.php =404;

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_pass unix:/var/run/php5-fpm.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root $fastcgi_script_name;

include fastcgi_params;

}

配置完之後重啟Nginx,使上面的配置項生效。

1

sudo service nginx restart

3.建立Laravel專案

在配置完nginx後,怎麼獲取Laravel的專案程式碼呢?有以下幾種方法:

(1).直接composer安裝

直接通過composer來安裝,你可以在CES上通過執行

cd~

curl -sS https://getcomposer.org/installer | php

上面命令會安裝composer

composer全域性使用:

sudo mv composer.phar /usr/local/bin/composer

然後在/var/www目錄下直接執行

sudo composer create-project laravel/laravel laravel

因為我們之前建立/var/www目錄,你可以直接cd /var/www然後執行上面的命令。然後坐等安裝完成。

(2).直接上傳程式碼

使用下面命令上傳

scp -r laravel [email protected]_IP:

然後在阿里雲的ECS上將laravel移動到/var/www目錄下

sudo mv laravel/ /var/www

(3).使用Git和Coding平臺

個人比較喜歡使用git來上傳程式碼,可以很方便的更新程式碼和進行回滾,一旦版本更新出Bug我可以藉助Git的強大版本管理能力來修復Bug。流程大概是這樣:

原生代碼---->Coding---->阿里雲ECS

既然要使用git,那麼先在ECS上安裝git:

sudo apt-get install git

安裝完成就可以使用git了,然後在Coding上建立一個私有專案laravel,裡面包含所有該Laravel專案所需程式碼。

一旦原生代碼都推送到Coding,然後在/var/www目錄下直接使用

git clone your-project-git-link

your-project-git-link替換為你Coding上的laravel專案地址

4.最後的最後

不管哪種方式安裝的程式碼,/var/www/都是屬於root使用者的,而訪問網站的使用者則需要正確的許可權和訪問限制,我們可以通過下面的命令來實現。

1

sudo chown -R :www-data /var/www/laravel

根據Laravel的官方文件,/var/www/laravel/storage 目錄需要給網站的使用者寫許可權

1

sudo chmod -R 775 /var/www/laravel/storage

相關推薦

阿里ECS 搭建 Linux+Nginx+Mysql+PHP環境 & 部署php的laravel專案

在阿里雲買ECS的時候選擇自己習慣的映象系統,我一般都是使用Linux Ubuntu,所以,以下的配置都是在Ubuntu 14.04穩定支援版的環境中搭建Linux+Nginx+Mysql+PHP環境的 首先,在一般的情況下,剛剛購買的阿里雲ECS的Linux中會給

阿里ECS 搭建 Linux+Nginx+Mysql+PHP環境 & 部署php的laravel專案

https://www.cnblogs.com/chenjingxuan/p/8072923.html   在阿里雲買ECS的時候選擇自己習慣的映象系統,我一般都是使用Linux Ubuntu,所以,以下的配置都是在Ubuntu 14.04穩定支援版的環境中搭建Linux+Ngin

linux+nginx+mysql+php環境搭建

地址 index src 報錯 開始 log 簡單 x86 use 本文主要介紹,簡單的搭建lnmp環境,自己的環境,自己做主 準備要求:全新的liunx環境,本文用的是centerOS6.0 廢話不多說,直接看步驟: 1、開啟nginx80端口和mysql3306端口  

LNMP環境搭建(linux+Nginx + Mysql + PHP)

51cto tar 服務器 版本 star -s 命令 查看 fix linux+Nginx + Mysql + PHP 搭配可以說目前使用比較廣泛那要想在這臺剛安裝好系統的服務器上配置這環境,有多種方式 一、傻瓜式一鍵安裝 為了讓大家安裝環境能簡單,方便。有人把它們集成了

LNMP小專案搭建,Centos7.6環境搭建Linux+nginx+mysql+php,wordpress個人部落格的搭建(完整搭建步驟)

一、LNMP搭建,基於nginx伺服器搭建wordpress個人部落格 準備環境:centos7.6環境下web伺服器(nginx+php):主機名:web01,ip:192.168.248.172mysql伺服器(mariadb):主機名:db01,ip:192.168.248.177 關閉selinu

最簡單!阿里伺服器採用 LNMP一鍵安裝包 配置 Linux+Nginx+Mysql+PHP

LNMP一鍵安裝包是一個用Linux Shell編寫的可以為CentOS/RadHat/Fedora、Debian/Ubuntu/Raspbian/Deepin VPS或獨立主機安裝LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/

阿里ECSLinux系統例項搭建FTP站點

vsftpd 是 Linux 下的一款小巧輕快、安全易用的 FTP 伺服器軟體,是一款在各個 Linux 發行版中最受推崇的 FTP 伺服器軟體。本文以 CentOS 7.2 64位作業系統為例,說明如何在 Linux 例項上安裝 vsftpd。 Linux 例項搭建 FTP 站點具體操作步驟如

LAMP架構的搭建Linux+Nginx+MySQL+PHP原始碼安裝 )+Discuz論壇的搭建

手動用CentOS7.0搭建php環境安裝Discuz論壇 1、安裝搭建論壇必要的軟體 apache php mysql CentOS系統我們可以直接使用 yum install 的方式進行軟體安裝, CentOS官方的安裝源,包涵的軟體都是當前最穩定的版本,因此直接安裝即可  

LNMP架構的搭建Linux+Nginx+MySQL+PHP原始碼安裝 )+Discuz論壇的搭建——新人上路

手動用CentOS7.0搭建php環境安裝Discuz論壇 1、安裝搭建論壇必要的軟體 apache php mysql CentOS系統我們可以直接使用 yum install 的方式進行軟體安裝, CentOS官方的安裝源,包涵的軟體都是當前最穩定的版本,因此直接安裝

寶塔搭建laravel所需要的lnmp環境linux-nginx-mysql-php-composer-git

示例是使用 CentOS 7.4 哈;如果還沒有伺服器建議購買阿里雲的或者是騰訊雲的;這臺伺服器需要是未安裝過 php 的環境;如果伺服器已經被折騰過一番;建議備份下資料後重裝下環境;阿里雲和騰訊雲都有重灌系統的選項; 一般應用於生產環境的的伺服器都是安裝的不帶桌面的版本 linux 系統;面對著黑乎乎的命

阿里ECS伺服器Linux環境下配置php伺服器(一)

最近在搞一個後臺,想建一個PHP的環境,記錄一下過程。 首先是買伺服器,為了省錢其實剛開始可以不買,在自己的機器上先搭建一個本地伺服器,通過內網ip測試,等開發差不多後,再買,然後把環境移到ecs伺服器上。 買哪種型別的ECS伺服器比較好? 我主要是為了把csdn的部落格移到自己的主頁上,同時業餘時間學習

基於(linux + nginx + mysql + php)原始碼包安裝及搭建

lnmp是什麼? LNMP指的是一個基於CentOS/Debian編寫的Nginx、PHP、MySQL、phpMyAdmin、eAccelerator一鍵安裝包。可以在VPS、獨立主機上輕鬆的安裝LNMP生產環境。 簡介: LNMP代表的就是:Linux系

阿里ECS伺服器Linux環境下配置php伺服器(一)--基礎配置篇

最近在搞一個後臺,想建一個php的環境,記錄一下過程。 首先是買伺服器,為了省錢其實剛開始可以不買,在自己的機器上先搭建一個本地伺服器,通過內網ip測試,等開發差不多後,再買,然後把環境移到ecs伺服器上。 買哪種型別的ECS伺服器比較好? 我主要是為了把

使用Navicat遠端連線阿里ECS伺服器上的MySQL資料庫

一.必須給伺服器的安全組規則設定埠放行規則,在管理控制檯中設定;   之後填寫配置,授權物件是授權的IP,其中0.0.0.0/0為所有IP授權,之後儲存;   二.Navicat使用的配置 在編輯連線處,要配置SSH和常規兩項   在常規項填寫配置,主機

阿里ECS搭建WordPress部落格

該文章針對那些壓根沒有任何基礎的人建站的流程, 從註冊域名開始, 一直到站點上線完整流程, 我一步步圖文教程了....實際邊操作邊寫這篇文章的....知乎連結 注意: 本篇僅包含阿里雲ECS搭建步驟, 適用於想搭建部落格的新人, 甚至不需要Linux經驗 所有連結域名指向阿里雲官方域名 本篇

記錄阿里ECS(Centos7.4)安裝mysql 8.0.X服務

#*.rpm介紹 大多數二進位制rpm包都包含在名稱中倒數第二個欄位中編譯rpm的體系結構。.rpm軟體包有那麼幾種 *.src.rpm 源程式包,要先通過編譯才能安裝 *.noarch.rpm 該包適用於任何架構 *.i*86.rpm 該包適用於intel cpu的電腦上執行 *.amd

阿里伺服器搭建》------ 安裝MySql

本系列教程的搭建環境為阿里雲伺服器,其他伺服器可作為參考。 本文主要講述在伺服器中搭建MySql資料庫,並且在本地進行遠端連線 執行Mysql的安裝命令(三條命令) 執行命令一:yum install mysql 執行命令二:yum install mysql-serve

如何在Ubuntu16.04 中安裝Linux, Nginx, MySQL, PHP (LEMP 棧)

介紹 LEMP 棧是用來開發動態網頁和web 應用程式的一系列軟體集合,LEMP描述的是Linux作業系統,Nginx web 伺服器,以及後端資料儲存MySQL/MariaDB資料庫和伺服器端動態指令碼語言PHP. 在此教程中,我們將會演示如何在Ubuntu 16.04 伺服器中安裝一個完整的LE

阿里ECS搭建我的世界伺服器

阿里雲ECS搭建我的世界伺服器 目錄 購買阿里雲服務 上傳檔案到雲伺服器 安裝必要環境 搭建我的世界伺服器端 本地客戶端 1. 購買阿里雲服務 1.1 選擇系統 個人並不懂伺服器配置,但是在系統映象選擇時記得選擇ubuntu16.04 64位。 注 1:如果你年齡低於24週

LAMP 搭建( Linux + Apache + MySql + PHP )

1.安裝apache yum install httpd 2.啟動apahce service httpd start 3.檢查 瀏覽器訪問IP 若失敗: 檢視埠資訊 netstat -antp 關閉防火牆 service iptables sto