centos 7 伺服器安裝LNMP環境 (Linux+Nginx+Mysql8+PHP)

Weiwen發表於2021-12-21

在搭建環境的過程中,筆者在網上看到了太多教程,各執一詞,新手雖然能照貓畫虎成功,但不明白背後的彎彎,難免會迷糊,所以結合搭建實際,總結了這篇教程。

1,臨時(永久)關閉selinux

為什麼要關閉selinux(centos預設開啟的安全加強的linux,詳細問度娘),避免selinux的預設檔案許可權的限制,導致安裝失敗。操作如下:

檢視SELinux狀態命令:

  命令:/usr/sbin/sestatus -v

  如果SELinux status引數為enabled即為開啟狀態,disable為關閉

關閉SELinux方法:

  臨時關閉(本次安裝使用的方法,不用重啟機器,重啟後恢復):

  命令:setenforce 0

永久關閉:修改配置檔案需要重啟機器:

  修改/etc/selinux/config 檔案(小白請自學vim操作)

  將SELINUX=enforcing改為SELINUX=disabled

  重啟機器,如下命令都可以:

  reboot

  shutdown -r

  init 1

2,配置防火牆-開啟關閉相關埠

經典工具iptables可以靈活的定義防火牆規則,功能非常強大。但是配置過於複雜,對新手不友好。建議使用ubuntu發行版的UFW(Uncomplicated Firewall不復雜的防火牆)的防火牆配置工具。

安裝命令:yum install ufw

使用方法比較簡單了:

首先啟用ufw:

sudo ufw enable

開啟禁止一切外部連線:

sudo ufw default deny

開啟ssh用的22埠:

sudo ufw allow 22

開啟web服務的80埠:

sudo ufw allow 80

是不是非常簡潔~

如果你是遠端登陸伺服器的方式,開啟後可能會導致putty,xshell等工具無法ssh連線。處理方法,在阿里雲(騰訊雲)的例項管理介面中登入ssh並開啟22埠即可。

1,通過源安裝(推薦)

Nginx官方提供了最新Yum源(1.16版),

執行命令新增源:

sudo rpm -Uvh nginx.org/packages/centos/7/noarch/...

執行下列命令安裝Nginx

sudo yum install nginx

啟動Nginx

sudo systemctl start nginx.service

設定開機自動執行

sudo systemctl enable nginx.service

檢查安裝是否成功,在瀏覽器中輸入伺服器的地址,本機安裝則輸入172.0.0.1,回車:

會顯示:welcome to nginx!

2,編譯安裝(新手不推薦)

看這篇:www.cnblogs.com/liaoxianfu/p/0ec64...

1,yum安裝

執行如下兩個命令新增php最新的yum源:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

先清理舊php版本:

yum -y remove php*

安裝php72w和php-fpm等擴充件:

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml

驗證php是否安裝成功:

php -v

驗證對應的擴充套件是否安裝成功:

php -m

設定php-fpm並檢測php-fpm的執行狀態

啟動php-fpm

service php-fpm start

檢查啟動是否成功

service php-fpm status

設定開機自啟動

systemctl enable php-fpm.service

檢查開機自啟動是否設定成功

systemctl list-dependencies | grep php-fpm

2,配置php-fpm使nginx能夠解析php

配置檔案為:/etc/php-fpm.d/www.conf

輸入ps -aux|grep nginx: worker process

出現的程式使用者名稱應該是:nginx(有的是www-data)

修改/etc/php-fpm.d/www.conf

使

user = nginx

group = nginx

修改完後應重啟php-fpm使修改後的配置生效。

停止

systemctl stop php-fpm.service

重啟

systemctl restart php-fpm.service

3,配置nginx解析php

進入配置目錄:

cd /etc/nginx/conf.d

編輯配置檔案:vim default.conf

修改server{ }裡面內容如下:

location / {
        root   /var/www/html;
        index  index.html index.htm index.php;
      }

去掉下面這段前面的註釋號#,和修改對應的內容(注意

location ~ \.php$ {
        root           /var/www/html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;

        #注意下面這一行不同之處,需要修改:
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

過載配置檔案nginx:使配置生效

nginx -s reload

不行的話:

nginx -s stop
nginx -c /etc/nginx/nginx.conf

4,測試

在網站根目錄,一般為/var/www/html

新建檔案index.php:vim index.php

內容如下:

<?php
   phpinfo();
?>

在瀏覽器輸入:伺服器ip(或本機測試ip 127.0.0.1)/index.php

會顯示php的相關資訊,表示成功。

檢視文章 CentOS7安裝mysql8.0.12_心有山海靜而無邊-CSDN部落格_centos mysql8

資料庫遠端連線( Navicat遠端連線MySQL8.0親測有效_CatEatApple的專欄-CSDN部落格

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章