基於centos的lnmp搭建

來源:互聯網
上載者:User

標籤:pass   解析   enum   mkdir   ams   ngnix   fastcgi   操作   alias   

部署lnmp環境

安裝
配置
mariadb配置
php配置
phpmyadmin配置
php-fpm配置
nginx配置
測試

LNMP(linux,nginx,mariadb,php)部署,以下預設在root許可權下操作,以centos7為例。

安裝
  • 安裝nmp(nginx-mariadb-php)

yum install nginx mariadb-server php php-fpm

  • 設定開機啟動並立即啟動服務:

systemctl enable nginx mariadb php-fpm && systemctl start nginx mariadb php-fpm

  • 可安裝phpmyadmin方便管理mariadb資料庫:

yum install phpmyadmin

配置mariadb配置

mysql_secure_installation

斷行符號>根據提示輸入Y>輸入2次密碼(不建議無密碼)>斷行符號>根據提示一路輸入Y>最後出現:Thanks for using MariaDB!

php配置

編輯/etc/php.ini檔案,找到如session.save_path行,去掉注釋,修改如下:

session.save_path = "/var/lib/php/session"

查看session目錄是否存在,如果不存在,則手工建立 :

 
  1. ls /var/lib/php/session
  2. mkdir /var/lib/php/session

為確保許可權符合,更改session目錄檔案許可權:

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

phpmyadmin配置

複製phpMyAdmin目錄到nginx根目錄,以根目錄為/srv/web為例:

cp /usr/share/phpMyAdmin/ /srv/web/phpMyAdmin;

!說明:centos以yum安裝的phpmyadmin在/usr/share/目錄下,archlinux的在/usr/share/webapps/目錄下,其餘發行版根據情操作。

phpMyAdmin可改為phpmyadmin或者其他便於操作的名字。如果更改了名字,那麼nginx的配置時要改為相應的目錄名稱。

×也可軟連結phpmyadmin目錄:

ln -sf /usr/share/phpMyAdmin /srv/web/phpMyAdmin

php-fpm配置

編輯/etc/php-fpm.d/www.conf如下:

 
  1. user = nginx #修改使用者為nginx
  2. group = nginx #修改組為nginx
nginx配置

編輯/etc/nginx/conf.d/下的.conf檔案,如果/etc/nginx/conf.d/中沒有任何conf檔案,下建立一個.conf檔案,如website.conf,內容如下(據情況修改):

 
  1. server {
  2. listen 80;
  3. #此處server_name後填寫網域名稱
  4. server_name www.xxx.com;
  5. #ngnix預設的主目錄,可根據具體情況修改
  6. root /srv/web;
  7. # 添加上index.php
  8. index index.php index.html index.htm;
  9. # php解析
  10. location ~ \.php$ {
  11. fastcgi_pass 127.0.0.1:9000;
  12. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  13. include fastcgi_params;
  14. }
  15. }

*禁止通過ip直接存取網站,防止惡意解析,添加一個新的server:

 
  1. server{
  2. listen 80;
  3. # ip處填寫伺服器ip地址
  4. server_name: ip;
  5. return 444;
  6. }

在通過ip地址訪問時會返回444http狀態代碼,伺服器不會返回資訊給用戶端,並且會關閉串連。
*

*許可權問題:nginx主目錄的許可權要求檔案許可權644,檔案夾755,所有者為nginx的執行使用者(預設是nginx組的nginx),以根目錄為/srv/web為例:

 
  1. chown -R nginx.nginx /srv/web/
  2. find /srv/web/ -type f -exec chmod 644 {} \;
  3. find /srv/web/ -type d -exec chmod 755 {} \;

可以將3條命令寫入bashrc以alias方式儲存方便執行,如寫進/etc/bashrc,nano.bashrc,再檔案末尾寫入:
alias webroot=‘chown -R nginx.nginx /srv/web/ && find /srv/web/ -type d -exec chmod 755 {} \; && find /srv/web/ -type f -exec chmod 644 {} \;‘
儲存並執行source /etc/bashrc 使其生效。以後遇到許可權問題,只要執行webroot就可以了。

測試

配置完後,測試前重啟所有服務:

systemctl restart nginx mariadb php-fpm

  • 測試nginx:

nginx -t

成功則返回如下內容:

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

  • 登入網站測試,在瀏覽器開啟網域名稱或IP。

  • 測試php解析:
    添加phpinfo.php測試檔案到根目錄,其內容為:

 
  1. <?php
  2. phpinfo();
  3. ?>

儲存後,開啟網站,例如網址是xxx.com,瀏覽xxx.com/info.php,就可以看到php詳情頁面。

  • mariadb測試,以主目錄下phpMyAdmin名字未更改為例,例如網址是xxx.com,瀏覽xxx.com/phpMyAdmin進入到mariadb的登入頁面,使用者名稱root,密碼是mariadb配置時輸入的密碼。
附件列表

     

    基於centos的lnmp搭建

    相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.