在Linux CentOS7系統中搭建LNMP

来源:https://www.cnblogs.com/goufugui/archive/2018/08/02/9407157.html
-Advertisement-
Play Games

LNMP就是Linux+Nginx+MySQL+PHP,既然是在Linux CentOS7那麼Linux就是已經安裝好了。所以接下百度一下接下來的教程,整理測試如下: 教程是centos6.2的有點老,將就著看看,教程:https://www.linuxidc.com/Linux/2012-09/7 ...


LNMP就是Linux+Nginx+MySQL+PHP,既然是在Linux CentOS7那麼Linux就是已經安裝好了。所以接下百度一下接下來的教程,整理測試如下:

教程是centos6.2的有點老,將就著看看,教程:https://www.linuxidc.com/Linux/2012-09/70788.htm

一、教程第1步是:配置防火牆,開啟80埠、3306埠,最後重啟防火牆使配置生效。但是重啟失敗,如下圖:

經過百度,原來在ContOS7中 使用systemctl工具來管理服務程式的,鏈接:https://blog.csdn.net/doubleface999/article/details/73358003

第2步是,關閉SELINUX,如果重啟失敗,請參考:https://blog.csdn.net/Angelloverbest/article/details/77825105

第3步是配置CentOS 6.2 第三方yum源

安裝篇:

一、安裝nginx
       yum install nginx      #安裝nginx,根據提示,輸入Y安裝即可成功安裝
       systemctl start nginx.service   #啟動
       systemctl enable nginx.service    #設為開機啟動
       systemctl restart nginx.service #重啟
       rm -rf /usr/share/nginx/html/*  #刪除ngin預設測試頁

二、安裝MySQL資料庫。

  1.下載mysql的repo源

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

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

  $ sudo rpm -ivh 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。

  3.安裝mysql

  $ sudo yum install mysql-server

  安裝完成以後使用下麵的命令開啟資料庫服務:
  systemctl start mysql.service #啟動MariaDB
  systemctl stop mysql.service #停止MariaDB
  systemctl restart mysql.service #重啟MariaDB
  systemctl enable mysql.service #設置開機啟動

  4修改mysql密碼

  mysql_secure_installation
       回車,根據提示輸入Y
       輸入2次密碼,回車
       根據提示一路輸入Y
       最後出現:Thanks for using MySQL!
       MySql密碼設置完成,重新啟動 MySQL

  另外:

另外有個版本叫Mariadb,如果需要安裝Mariadb,可以使用下麵的命令進行安裝:
yum install -y mariadb
安裝完成以後使用下麵的命令開啟資料庫服務:
  systemctl start mariadb.service #啟動MariaDB
  systemctl stop mariadb.service #停止MariaDB
  systemctl restart mariadb.service #重啟MariaDB
  systemctl enable mariadb.service #設置開機啟動

 

三、安裝PHP,參考:https://blog.csdn.net/qq_34829953/article/details/78078790

yum install php   #根據提示輸入Y直到安裝完成,安裝的是php5.4
2、安裝PHP組件,使PHP支持 MySQL、PHP支持FastCGI模式
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt libmcrypt-devel php-fpm           
#根據提示輸入Y回車

#如果要安裝php5.6版本執行以下命令
yum provides php   #自帶的只有5.4版本
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm         #更新源
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum remove php-common -y     #移除系統自帶的php-common
yum install -y php56w php56w-opcache php56w-xml php56w-mcrypt php56w-gd php56w-devel php56w-mysql php56w-intl php56w-mbstring         #安裝依賴包
php -v                    #版本變為5.6
yum provides php-fpm      #因為我是準備搭建lnmp,所以安裝php-fpm,這裡會提示多個安裝源,選擇5.6版本的安裝就可以了
yum install php56w-fpm-5.6.31-1.w7.x86_64 -y

    systemctl start php-fpm.service #啟動Php
  systemctl stop php-fpm.service #停止Php
  systemctl restart php-fpm.service #重啟Php
  systemctl enable php-fpm.service #設置開機啟動

=================================================================

==========================================================

配置篇:

一、配置nginx支持php
       cp /etc/nginx/nginx.conf  /etc/nginx/nginx.confbak    #備份原有配置文件
       vi /etc/nginx/nginx.conf  #編輯
       user   nginx  nginx;  #修改nginx運行賬號為:nginx組的nginx用戶
       :wq!    #保存退出

cp /etc/nginx/conf.d/default.conf  /etc/nginx/conf.d/default.confbak   #備份原有配置文件
vi /etc/nginx/conf.d/default.conf   #編輯

  root   /usr/share/nginx/html;   #增加

  index  index.php index.html index.htm;   #增加index.php

  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  #
  location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }

     #取消FastCGI server部分location的註釋,並要註意fastcgi_param行的參數,改為$document_root$fastcgi_script_name,或者使用絕對路徑

二、配置php

  vi  /etc/php.ini   #編輯

  date.timezone = PRC     # 把前面的分號去掉,改為date.timezone = PRC

  disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
                          #列出PHP可以禁用的函數,如果某些程式需要用到這個函數,可以刪除,取消禁用。
  expose_php = Off        # 禁止顯示php版本的信息
  magic_quotes_gpc = On   # 打開magic_quotes_gpc來防止SQL註入,5.4以後版本未設置
 
      :wq!  #保存退出

三、配置php-fpm

      cp /etc/php-fpm.d/www.conf   /etc/php-fpm.d/www.confbak   #備份原有配置文件
       vi /etc/php-fpm.d/www.conf   #編輯
       user = nginx   #修改用戶為nginx
       group = nginx   #修改組為nginx

    systemctl restart mysql.service  #重啟MySql
       systemctl restart nginx.service  #重啟nginx
      systemctl restart php-fpm.service  #重啟php-fpm

===========================================================

============================================================

測試篇
      cd  /usr/share/nginx/html/   #進入nginx預設網站根目錄
       vi  index.php   #新建index.php文件

<?php
           phpinfo();
       ?>
       :wq! #保存

chown nginx.nginx /usr/share/nginx/html/ -R  #設置目錄所有者

chmod 700  /usr/share/nginx/html/ -R   #設置目錄許可權

在客戶端瀏覽器輸入伺服器IP地址,可以看到相關的配置信息!

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 使用EF flument API 修改映射資料庫欄位的自增長 modelBuilder.Entity<Invoice>().Property(p => p.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None); 報錯Method n ...
  • [TOC] MEF 簡介 Managed Extensibility Framework 即 MEF 是用於創建輕量、可擴展應用程式的庫。 它讓應用程式開發人員得以發現和使用擴展且無需配置。 它還讓擴展開發人員得以輕鬆地封裝代碼並避免脆弱的緊密依賴性。 MEF 讓擴展不僅可在應用程式內重覆使用,還可 ...
  • 第一個原因 你沒有設置DataKeyNames屬性, 第二個原因 你的DataSource是NUll值 ...
  • 1、SNAT:源地址轉換 實現內網訪問外網,修改IP地址,使用POSTROUTING 命令:iptables -t nat -A POSTROUTING -s 192.168.1.10/24 -j SNAT --to-source 202.1.1.1 2、MASQUERADE:地址偽裝 適用於外網i ...
  • ssh-keygen介紹 維基百科上關於ssh-keygen的介紹如下: ssh-keygen is a standard component of the Secure Shell (SSH) protocol suite found on Unix and Unix-like computer ... ...
  • 一、網路協議 國際標準化組織(ISO)定義了網路協議的基本框架,被稱為OSI模型。OSI模型包括應用層、表示層、會話層、傳輸層、網路層、數據鏈路層及物理層。而OSI模型過於複雜至今沒有得到實際的應用。 TCP/IP協議模型將OSI的7層協議模型簡化為4層,從而更有利於實現和使用。TCP/IP協議模型 ...
  • 替換 替換某一整行 str1替換為str2 將含有xhn的行中的str1替換為str2 將1-5行替換為兩行: hello world 刪除 刪除空行 ...
  • 如何設置非管理員用 戶配置特定的IIS站點 一、 添加IIS管理服務 二、 啟動管理服務 勾選啟用遠程連接後。點右邊的應用 三、 設置站點許可權 添加一個windows標準用戶 四、 標準用戶訪問 輸入伺服器名稱和站點名稱 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...