centos 7.2下搭建LNMP環境教程_php執行個體

來源:互聯網
上載者:User

本機環境:伺服器是阿里雲ECS;使用的鏡像是:公用鏡像 CENTOS 7.2 

一.nginx安裝

1.下載對應當前系統版本的nginx包(package)

​ wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2.建立nginx的yum倉庫(預設yum是沒有nginx的)

​ rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm

3.下載並安裝nginx

​ yum install nginx

4.nginx啟動(nginx安裝目錄下-/usr/sbin/)

systemctl start nginx.service

ps:一些其它nginx相關命令:

nginx相關設定檔:

​ 預設的設定檔在 /etc/nginx 路徑下,使用該配置已經可以正確地運行nginx;

​ 如需要自訂,修改其下的 nginx.conf 等檔案即可;

在瀏覽器地址欄中輸入部署nginx環境的機器的IP,如果一切正常,應該能看到如下字樣的內容。

Welcome to nginx!

If you see this page, the nginx web server is successfully installed andworking. Further configuration is required.

For online documentation and support please refer tonginx.org.Commercial support is available atnginx.com.

Thank you for using nginx.

第二步:MYSQL安裝

1.先下載mysql的repo源;相關命令:

​ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2.安裝mysql-community-release-el7-5.noarch.rpm包

(安裝這個包後,會獲得兩個mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo)

​ rpm -ivh mysql-community-release-el7-5.noarch.rpm

3.安裝MYSQL

​ sudo yum install mysql-server

4.重設密碼

​ 更改使用者權限:

sudo chown -R root:root /var/lib/mysql

​ 重啟服務:

systemctl restart mysql.service

​ 登入,並修改密碼:

mysql -u root​ mysql > use mysql;​ mysql > update user set password=password(‘123456‘) where user=‘root‘;​ mysql > exit;

第三步:安裝php

1.查看當前安裝的php版本( yum list installed | grep php)

​ 如果存在php安裝包先刪除之前版本  用yum remove 移除 php相關的包

2.rpm 安裝 Php7 相應的 yum源

​ rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm​ rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

3.安裝php7.0

yum install php70w

4.安裝php擴充

​ php70w-mysql.x8664  mysql擴充(作為依賴同時安裝 php70w-pdo.x8664)

​ php70w-gd.x86_64  GD庫,是php處理圖形的擴充庫,GD庫提供了一系列用來處理圖片的API,使用GD庫可以處理圖片,或者產生圖片。

​ php70w-ldap.x86_64 "輕量級目錄訪問協議",是一個用於訪問"目錄伺服器"(Directory Servers)的協議;

php70w-mbstring.x86_64 mbstring擴充庫用於處理多位元組字串,PHP內建的字串長度函數strlen無法正確處理中文字串,它得到的只是字串所佔的位元組數。對於GB2312的中文編碼,strlen得到的值是漢字個數的2倍,而對於UTF-8編碼的中文,就是1~3倍的差異了。採用mb_strlen函數可以較好地解決這個問題。

php70w-mcrypt.x86_64 Mcrypt擴充庫可以實現加密解密功能,就是既能將明文加密,也可以密文還原。

5.安裝PHP FPM

​ yum install php70w-fpm

關於 php-fpm

​ PHP-FPM其實是PHP原始碼的一個補丁,旨在將FastCGI進程管理整合進PHP包中。必須將它patch到你的PHP原始碼中,在編譯安裝PHP後才可以使用。

​ 現在我們可以在最新的PHP 5.3.2的源碼樹裡下載得到直接整合了PHP-FPM的分支,據說下個版本會融合進PHP的主分支去。相對Spawn-FCGI,PHP-FPM在CPU和記憶體方面的控制都更勝一籌,而且前者很容易崩潰,必須用crontab進行監控,而PHP-FPM則沒有這種煩惱。

​ PHP5.3.3已經整合php-fpm了,不再是第三方的包了。PHP-FPM提供了更好的PHP進程管理方式,可以有效控制記憶體和進程、可以平滑重載PHP配置,比spawn-fcgi具有更多優點,所以被PHP官方收錄了。在./configure的時候帶 –enable-fpm參數即可開啟PHP-FPM。

使用PHP-FPM來控制PHP-CGI的FastCGI進程

第四步:配置nginx

修改設定檔之前記得備份

1.nginx設定檔位置:(/etc/nginx/conf.d/default.conf)

​ 修改web root目錄(如果沒有需求也可以不用修改,使用預設即可):

root /wwwdata/html;

​ 配置php解析,修改 下面代碼中黑色加粗部分:

​ location ~.php$ {​ fastcgi_pass 127.0.0.1:9000;​ fastcgi_index index.php;​fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;​ include    fastcgi_params;​ }

2.php-fpm設定檔位置:(/etc/php-fpm.d/www.conf)

​ 修改

user =nginx

​ group=nginx

3.啟動nginx服務:

systemctl start nginx.service

​ 如需設定開機自啟使用以下命令:

sudo systemctl enable nginx.service

​ 查看啟動狀態:

systemctl status nginx 

看到以下字眼說明啟動成功!

​Active: active (running) since 六 2016-11-19 13:40:04 CST; 50min ago

4.啟動PHP-FPM:

systemctl start php-fpm.service

 如需設定開機自啟試用以下命令:

sudo systemctl enable php-fpm.service

​ 查看啟動狀態:

systemctl status php-fpm.service

看到以下字眼說明啟動成功!

​Active: active (running) since 六 2016-11-19 14:14:33 CST; 18min ago

至此,php+mysql+nginx 環境搭建完成!

最後,在web根目錄下下一個php檔案測試下;呼呼~~

為了更方便的訪問修改資料庫,需要安裝mysql管理工具 phpMyAdmin

跳轉web根目錄:(根據之前設定跳轉自己的網站根目錄)

cd /wwwdata/html/

下載pma安裝包:

wget https://files.phpmyadmin.net/phpMyAdmin/4.4.12/phpMyAdmin-4.4.12-all-languages.zip

解壓安裝包:

unzip phpMyAdmin-4.4.12-all-languages.zip

這裡如果缺少 unzip 需要先安裝unzip;

yum install unzip zip

重新命名安裝資料夾

mv phpMyAdmin-4.4.12-all-languages phpmyadmin

修改session存放目錄許可權:

chown -R nginx.nginx /var/lib/php/session

如果需要修改session根目錄位置 需要修改位置:

/etc/php.ini 中修改 session.save_path

由於 /etc/php-fpm.d/www.conf中 的 session.save_path  比php.ini優先順序更高所以如果 存在  /etc/php-fpm.d/www.conf中 的 session.save_path 只需修改這個即可

訪問http://youipaddress/phpmyadin,如果能訪問上,那麼就成功了!

以為這樣就可以了 但是登入又出現問題!登陸不上 !

做了一下修改:

   1.修改/var/lib/php/session檔案夾許可權 770以上

​   2.在phpmyadmin目錄下 config.sample.inc.php 中修改 $cfg'Servers'['user'] = 'root';$cfg'Servers'['password'] = '123456'; 為自己設定的使用者名稱密碼;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.