Centos7.5搭建lnmp(詳細+實戰)

2021-01-04 我是你的優樂美奶茶

目錄:

1)LNMP簡介

2)安裝nginx1.4

3)安裝php7.2

4)安裝mariadb10.2

5)總結

一、LNMP簡介

L:linux,是目前最流行的免費作業系統,版本有很多,rehat,debian,ubuntu,centos等等,我用的是centos7.5。

N:nginx,是一個高性能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP代理伺服器。nginx市場份額越來越大,這裡也可以選擇Apache,老大哥,寶刀未老。

M:Mysql是一個小型關係型資料庫管理系統,我覺得已經不小了,對於絕大多數的情況,夠用了,這裡我用的mariadb10.2,mariadb和mysql都是出自同個作者,這裡不講它們的故事。

P:世界上最好的程式語言,一種在伺服器端執行的嵌入HTML文檔的腳本語言。

linux+nginx+mysql/mariadb+php,這四個開源項目組在一起,成為一個免費、高效、擴展性強的網站服務系統,這是一個網站伺服器架構,學會它就能打通任督二脈,無忌,跟著為師走。

二、安裝nginx

1. 防火牆設置,允許http,https通信。

firewall-cmd --zone=public --add-service=http --permanent //允許http通信

firewall-cmd --zone=public --add-service=https --permanent  //允許https通信

firewall-cmd --zone-public –add-port=80/tcp --permanent //打開80埠

firewall-cmd --zone-public –add-port=443/tcp --permanent //打開443埠

firewall-cmd --zone-public –add-port=8080/tcp --permanent //打開8080埠

firewall-cmd --reload //重新加載配置

2. 下載基本的庫文件

yum intall pcre pcre-devel yum install pcre pcre-devel yum install zlib zlib-devel yum install openssl; openssl-devel yum install openssl; openssl-devel yum install openssl openssl-devel

3. 配置nginx官方源,下載和安裝

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

yum install nginx //安裝nginx

4. 了解基本配置文件

主配置文件:/etc/nginx/nginx.conf

默認配置文件:/etc/nginx/conf.d/default.conf

我們編輯一下default.conf這個文件。

注意,這裡server_name 我寫的是我這臺電腦的區域網地址及訪問埠,你可以設置其它或者默認不變,如果是默認的話瀏覽器那裡不需要輸入埠號。

nginx設置

5. 區域網訪問測試一下。

nginx運行成功

到這裡nginx安裝使用成功,如果你這裡無法訪問,絕大多數情況下是SELINUX和防火牆的問題。注意,如果你是雲伺服器的話是需要在服務商後臺那裡添加安全組策略的。

三、安裝php7.2

1. 配置php7.2yum源

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

2. 安裝php7.2及一些擴展工具

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

3. 啟動php-fpm

systemctl php-fpm //啟動

systemctl enable php-fpm //設置開機啟動

注意,nginx是通過php-fpm處理php文件的。

4. 讓nginx支持php,紅色方框就是改的地方。

vim /etc/nginx/conf.d/default.conf

nginx支持php

運行一個php文件

vim /usr/share/nginx/html/index.php //編輯文件

<?php phpinfo();?>

保存,在瀏覽器訪問試一下。

phpinfo()

四、安裝資料庫mariadb10.2

1. 卸載系統自帶的資料庫

首先,centos7.5裡面自帶的mariadb5.5版本的,所以第一步,我先卸載掉很老老老老老老的版本。

rpm -qa|grep mariadb

yum remove mariadb-*文件

它會刪除一些依賴文件,不用擔心。

2. 配置mariadb10.2yum源

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

# MariaDB 10.2 CentOS repository list - created 2019-01-08 08:30 UTC

# http://downloads.mariadb.org/mariadb/repositories/

[mariadb] name = MariaDB

baseurl = http://yum.mariadb.org/10.2/centos7-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

以上配置的源是mariadb官方源,下載速度,一個星期的時間是完全可以下載下來的。

如果你想一根煙的時間就能完成下載,替換為國內源:

[mariadb] name = MariaDB

baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.2/centos7-amd64

gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB

gpgcheck=1

保存退出。

yum clean&&yum update //更新一下yum源

yum install MariaDB-client MariaDB-server //安裝

systemctl start mariadb

systemctl enable mariadb //設置開機啟動

OK,mariadb安裝完成。

3. 初始化mariadb

首先使用mysql_secure_installation命令進行配置。

根據自己的要求配置,可以按照我的圖片走。

Set root password? [Y/n]

New password:

Re-enter new password:

其他配置

Remove anonymous users? [Y/n]

Disallow root login remotely? [Y/n]

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

Reload privilege tables now? [Y/n]

mariadb初始化

登錄

mysql -uroot -p //本地登錄

登錄成功

4. 簡單配置mariadb

先配置服務端,配置文件:/etc/my.cnf.d/server.cnf

vim /etc/my.cnf.d/server.cnf

在[mysqld]標籤下添加以下內容

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

保存退出

再配置客戶端,配置文件:/etc/my.cnf.d/mysql-clients.cnf

vim /etc/my.cnf.d/mysql-clients.cnf

在[mysql]中添加

default-character-set=utf8 保存退出

重啟mariadb服務

systemctl restart mariadb

之後登錄mariadb,輸入下面代碼,查看一下我們的設置有沒有成功。

show variables like "%character%";show variables like "%collation%";

mariadb字符配置

5. 測試mariadb

現在nginx,php,mariadb都有了,我們來做個簡單的測試,寫個簡單的代碼,訪問資料庫。

vim /usr/share/nginx/html/index.php

代碼:

if(!$link){ e

cho "Game Over." .PHP_EOL;

echo "Debugging errno:" .mysqli_connect_errno() .PHP_EOL;

echo "Debugging error:" .mysqli_connect_error() .PHP_EOL;

exit;

}

else{

echo "Very Good" .PHP_EOL;

echo "Host information:" .mysqli_get_host_info($link) .PHP_EOL;

}

mysqli_close($link);

我們在瀏覽器訪問看看。

php連接資料庫成功

有些朋友寫的不是localhost,而是127.0.0.1,可能會出現Permission denied權限問題,如下圖。

permision denied

這是因為selinux攔截了,我們設置以下就可以。

setsebool httpd_can_network_connect_db = on

用localhost比127.0.0.1在安全及性能上都要好,感興趣的朋友可以閱讀相關文檔。

五、總結

到這裡,LNMP就搭建成功了,我第一次配置的時候遇到很多權限問題,其實也是好事。從問題出現,到分析問題,再到解決問題,你會收穫很多知識,那些問題讓你的腦袋不斷的思考,最後,任督二脈打通了。

喜歡的話就關注我吧。

相關焦點

  • videojs 廣告機直播 rtmp lnmp環境準備
    videojs 廣告機直播 rtmp lnmp環境準備( php5.6+mysql8.0 +centos7)1 centos7 安裝 (next session 下,,,,下一稿)2 主要介紹lnmp腳本自動安裝無人值守wget http://soft.vpser.net
  • lnmp環境搭建,看完這一篇就會了
    lnmp是Linux+NGINX+MySQL+PHP的縮寫,國內絕大部分網站程序都是在lnmp環境下開發的。常見的lnmp環境搭建方法有三種,分別是yum安裝,lnmp一鍵安裝包安裝及源碼編譯安裝。今天就詳細介紹每種方法的安裝步驟,方便大家搭建環境時作為參考。
  • 如何使用lnmp一鍵環境搭建Web?
    鑑於昨天的寶塔面板 7.4.2 PMA漏洞事件,夏柔準備遷移到一鍵環境搭建Web這裡將講述如何通過lnmp一鍵包及寶塔那些擴展、授權的教程!03安裝LNMP穩定版將以下指令輸入到SSH界面wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz &&
  • Centos7 Nginx搭建區域網yum倉庫詳細步驟,轉發
    2、在伺服器上安裝本地yum源,為安裝nginx的依賴包等軟體,創建centos7.repo文件[root@yum yum.repos.d]# vi centos7=centos7baseurl=file:///mirror/repo/centos/x86_64/7/packages/CentOS-7-x86_64-Everything-1908/enabled=1gpgcheck=0[extras]name=CentOS-$releasever - Extras
  • 「PHP編程」如何使用Docker製作自己的LNMP/LAMP鏡像
    下載Linux鏡像,可以使用如下命令:docker install centos以上命令會默認安裝最新版本的centos。3、創建容器當有了 Linux 鏡像後,我們就可以以 Linux 鏡像為基礎創建 Linux 容器了。
  • Centos7.5搭建Hadoop環境
    Hadoop今天終於完成了Hadoop單機環境的搭建,是在網上網友的博客幫助下完成的,最後對照了下官方教程,實際上就是官方教程的中文版本,搭建的過程總結起來有如下步驟:第一步,關掉Centos的防火牆吧,不然各種問題配置
  • centos 7搭建PHP環境的簡易方法
    兩種環境的搭建其實都是大同小異。今天我們一些探討一個共同的東西就是PHP環境的搭建。假如centos 7 在安裝之時沒有選擇PHP相關的程序。首先我們先查一下系統有沒有已安裝好的PHP,查看版本。#php -v如果沒有顯示任何內容,則表示系統沒有PHP。但為了安裝起見,也可以用如下命令進行刪除歷史版本及相關。
  • liunx如何快速搭建php環境
    liunx如何快速搭建php環境,對於liunx初學者會剛入門不久的來說,配置東西太多,命令不熟悉,現一個簡單的方法,操作步驟簡化。下載secure shell client並安裝,打開設置連接你的liunx伺服器連接後,運行 screen -S lnmp 命令 如果提示screen: command not found 命令不存在可以執行:yum install screen 或 apt-get install screen安裝。
  • 小白教你一步步搭建網站(3)lnmp配置
    一、lnmp一鍵安裝包一鍵安裝包使用Linux Shell編寫的生產環境Shell程序。優點就是選擇完後一鍵安裝。不需要四個軟體一個一個來,缺點是慢,大概要1小時左右,如果不著急的話可以選用此方法。首先連接你的vps。登錄後輸入screen -S lnmp防止網絡中斷後安裝中斷,輸入以下命令。
  • LNMP 一鍵安裝包 V1.5 正式版發布,增加 PHP 7.2 支持
    LNMP 1.5正式版一如既往的於6.1發布了,本版主要增加PHP7.2支持、增加Maria DB 10.2、增加無人值守安裝、增加多核編譯安裝、替換問題較多的certbot使用acme.sh不需要過多的依賴生成SSL更絲滑、支持生成泛域名
  • 在CentOS7.0 上搭建DNS 伺服器
    chroot 環境 [root@centos7 ~]# cp -R /usr/share/doc/bind-*/sample/var/named/* /var/named/chroot/var/named/  3、在bind chroot 的目錄中創建相關文件 [root@centos7 ~]# touch /var/named/chroot/var
  • CentOS 7 安裝 LNMP 環境(PHP7 + MySQL5.7 + Nginx1.10)
    記錄下在CentOS 7 安裝 LNMP 環境(PHP7 + MySQL5.7 + Nginx1.10)過程筆記。;或者:mysql> set password for'root'@'localhost'=password('123abc'); 註:MySQL5.7 默認安裝了密碼安全檢查插件(validate_password),默認密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位。
  • LNMP 一鍵安裝包 V1.7 正式版
    LNMP一鍵安裝包 v1.7主要增加支持PHP 7.4、增加Mariadb 10.4選項並移除MariaDB 10.0、增加systemd
  • 搭建PXE環境批量部署CENTOS7(Linux版)
    一、所需軟體1、系統安裝鏡像為 :CentOS-7-x86_64-DVD-2003.iso2、VMware® Workstation 15 Pro 15.5.1 build-15018445二、參數規範
  • LNMP一鍵安裝包 0.5 正式發布
    安裝方法:http://lnmp.org/install.html LNMP相關軟體版本: Nginx 0.7.67 MySQL 5.1.48 PHP 5.2.14 PHPMyAdmin 3.3.7 其他更新: 1、為安全將Nginx日誌移動到/home/wwwlogs/下面; 2、更改32
  • centos vps修改時間及時區不同步的終極解決方案
    centos vps修改時間及時區不同步的終極解決方案 由於初次使用hyper-v架構的VPS而且買前要指定裝windows還是centos系統,因為木有重裝的面板,對於用慣debian
  • Centos7.5搭建FTP服務-vsftpd(詳細)
    1)vsftpd簡介2)安裝vsftpd3)firewalld防火牆和selinux設置4)運行,登錄5)區域網登錄6)認識vsftpd軟體配置文件7)設置虛擬帳號登錄8)認識vsftpd傳輸模式9)500 OOPS:priv_sock_get_cmd錯誤一、vsftpd簡介FTP,File transfer protocol的縮寫,中文叫文本傳輸協議
  • 超詳細圖解:從 0 搭建一個個人網站,也太簡單了吧
    前兩天我用WordPress 給自己搭建了一個網站,整個過程非常的順利,體驗非常地好,於是我就整個過程、以及其中的一些搭建心得,記錄下來。好像扯遠了,還是說回 WP 的網站搭建吧。3.2 安裝 LNMP下載 LNMP 安裝腳本(目前最新版本是 1.7 ,我安裝的是 1.5,更多版本可查看: $ wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz