LNMP環境配置

来源:https://www.cnblogs.com/tui463/archive/2020/01/03/12145598.html
-Advertisement-
Play Games

概念 LNMP是Linux Nginx MySQL PHP 的簡寫,把Nginx、MySQL以及PHP安裝在Linux系統上,組成一個環境來運行PHP的腳本語言。 Nginx是類似Apache的一種Web服務軟體 MySQL是比較小型的資料庫軟體 Apache和PHP需要在同一臺機器上 (先安裝c編 ...


概念

LNMP是Linux Nginx MySQL PHP 的簡寫,把Nginx、MySQL以及PHP安裝在Linux系統上,組成一個環境來運行PHP的腳本語言。

Nginx是類似Apache的一種Web服務軟體

MySQL是比較小型的資料庫軟體

Apache和PHP需要在同一臺機器上

(先安裝c編譯語言)

安裝MySQL

切換目錄

下載源碼包

 

 解壓

 給文件改名

 挪動位置

 建立MySQL用戶

 創建datadir,資料庫文件會放到這裡面

 更改許可權

 可能的安裝包(出現錯誤)

 

 

 

 最後(出現兩個ok)

複製配置文件

 配置文件

# vi /etc/my.cnf

basedir是MySQL包所在路徑

datadir是定義的存放數據的地方

port定義MySQL服務監聽的埠(預設是3306)

server_id定義ID號

socket定義服務監聽的的套接字地址

 

複製啟動腳本文件並修改其屬性

 修改啟動腳本

# vi /etc/init.d/mysqld

 把啟動腳本加入系統服務項,設定開機啟動 

 檢查MySQL是否啟動(大於兩行)

 安裝PHP

下載PHP

配置編譯選項

./configure \
> --prefix=/usr/local/php-fpm \
> --with-config-file-path=/usr/local/php-fpm/etc \
> --enable-fpm \
> --with-fpm-user=php-fpm \
> --with-fpm-group=php-fpm \
> --with-mysql=/usr/local/mysql \
> --with-mysql-sock=/tmp/mysql.sock \
> --with-libxml-dir \
> --with-gd \
> --with-jpeg-dir \
> --with-png-dir \
> --with-freetype-dir \
> --with-iconv-dir \
> --with-zlib-dir \
> --with-mcrypt \
> --enable-soap \
> --enable-gd-native-ttf \
> --enable-ftp \
> --enable-mbstring \
> --enable-exif \
> --disable-ipv6 \
> --with-pear \
> --with-curl \
> --with-openssl

 

 可能出現的錯誤

 編譯安裝

修改配置文件

# cp  php.ini-production   /usr/local/php-fpm/etc/php.ini

# vi  /usr/local/php-fpm/etc/php-fpm.conf

寫入以下內容

[global]
pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files =1024

檢驗配置是否正確

 複製配置文件

# cp  /usr/local/src/php-5.6.30/sapi/fpm/init.d.php-fpm   /etc/init.d/php-fpm

設置許可權

# chmod  755  /etc/init.d/php-fpm

創建用戶

# useradd  -s  /sbin/nologin  php-fpm

啟動php-fpm

設置開機啟動

 檢測是否啟動

 

 安裝Nginx

下載nginx

 解壓

 配置編譯選項

 

 

 編譯和安裝

編寫啟動腳本

 加入以下內容

#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions
# Nginx Settings
NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog="Nginx"
start()
{
    echo -n $"Starting $prog: "
    mkdir -p /dev/shm/nginx_temp
    daemon $NGINX_SBIN -c $NGINX_CONF
    RETVAL=$?
    echo
    return $RETVAL
}
stop()
{
    echo -n $"Stopping $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -TERM
    rm -rf /dev/shm/nginx_temp
    RETVAL=$?
    echo
    return $RETVAL
}
reload()
{
    echo -n $"Reloading $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -HUP
    RETVAL=$?
    echo
    return $RETVAL
}
restart()
{
    stop
    start
}
configtest()
{
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
}
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload)
        reload
        ;;
  restart)
        restart
        ;;
  configtest)
        configtest
        ;;
  *)
        echo $"Usage: $0 {start|stop|reload|restart|configtest}"
        RETVAL=1
esac
exit $RETVAL

 

保存後更改許可權

 

 設置開機啟動

 更改配置文件

清空配置文件

 編寫啟動腳本

#  vi  /usr/local/nginx/conf/nginx.conf

加入以下內容

user nobody nobody;

worker_processes 2;

error_log /usr/local/nginx/logs/nginx_error.log crit;

pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
events
{
    use epoll;
    worker_connections 6000;
}
http
{
    include mime.types;
    default_type application/octet-stream;
    server_names_hash_bucket_size 3526;
    server_names_hash_max_size 4096;
    log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
    ' $host "$request_uri" $status'
    ' "$http_referer" "$http_user_agent"';
    sendfile on;
    tcp_nopush on;
    keepalive_timeout 30;
    client_header_timeout 3m;
    client_body_timeout 3m;
    send_timeout 3m;
    connection_pool_size 256;
    client_header_buffer_size 1k;
    large_client_header_buffers 8 4k;
    request_pool_size 4k;
    output_buffers 4 32k;
    postpone_output 1460;
    client_max_body_size 10m;
    client_body_buffer_size 256k;
    client_body_temp_path /usr/local/nginx/client_body_temp;
    proxy_temp_path /usr/local/nginx/proxy_temp;
    fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
    fastcgi_intercept_errors on;
    tcp_nodelay on;
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 8k;
    gzip_comp_level 5;
    gzip_http_version 1.1;
    gzip_types text/plain application/x-javascript text/css text/htm
    application/xml;
    server
    {
        listen 80;
        server_name localhost;
        index index.html index.htm index.php;
        root /usr/local/nginx/html;
        location ~ \.php$
        {
            include fastcgi_params;
            fastcgi_pass unix:/tmp/php-fcgi.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
                }
        }
}       

檢驗配置

 啟動nginx

 檢測是否啟動

 測試能否正確解析

 測試

 

 

 

 

 

 


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

-Advertisement-
Play Games
更多相關文章
  • 本筆記摘抄自:https://www.cnblogs.com/skylaugh/archive/2011/07/12/2103572.html,記錄一下學習過程以備後續查用。 數據加密技術是網路中最基本的安全技術,主要是通過對網路中傳輸的信息進行數據加密來保障其安全性,這是一種主動安全防禦策略,用很 ...
  • 原文:https://blogs.msdn.microsoft.com/mazhou/2018/03/25/c-7-series-part-10-spant-and-universal-memory-management/ 譯註:這是本系列最後一篇文章 背景 .NET是一個托管平臺,這意味著記憶體訪問 ...
  • 對於C#的開發的網頁程式,一些企業或者工廠可能會運用這些程式去查詢一些資料,考慮到查詢的資料太多,假如一個月的資料就有上萬條數據,在對於查詢資料的SQL語句後時間欄位運用Between.....AND......對查詢時間範圍進行控制,以免撈取數據太多,查詢時間較長。 根據判斷輸入的時間範圍返回的結 ...
  • 1.前端頁面代碼: 前端頁面代碼主要顯示退出系統或者網站的可視化按鈕代碼,代碼如下:(請忽略項目關鍵字:CPU) <ul class="nav navbar-nav navbar-right"> <li class=""> <a href="javascript:;" class="user-pro ...
  • 前言 我們知道,目前大多數應用程式在正式發佈到生產環境之前都會經歷多個不同的測試環境,通過讓應用程式在多個不同的環境中運行來及時發現並解決問題,避免線上上發生不必要的損失。這是對於整個軟體的發佈流程來講。但是如果想讓我們的應用程式線上上環境中通過滿足一些動態條件(比如電商平臺在某一時間段的促銷活動) ...
  • 之前自己有個core2.2的項目一直是用的Surging作為微服務框架的,後來瞭解到了Dapr,發現比較輕量級,開發部署等也非常方便,故將自己的程式升級到了3.0同時框架改成了Dapr,網上查到的好多Dapr文章基本都是大差不同,大都是用的GIT上的示例或者是直接文章翻譯很少有提到實戰上的一些問題,... ...
  • NTP的用途是把電腦的時鐘同步到世界協調時UTC,NTP可以使電腦對其伺服器或時鐘源進行時間同步。 以下為NTP伺服器搭建和客戶端同步配置 一、服務端配置1、安裝NTP軟體包 執行命令:yum install ntp ntpdate -y 2、修改NTP配置文件,修改前註意先備份。 執行命令:c ...
  • 伺服器硬體知識 電腦:輔助人腦的工具 現在的人們幾乎無時無刻都會碰電腦!不管是桌上型電腦(台式機)、筆記型電腦(筆記本電腦)、平板電腦、智能手機等等,這些東西都算是電腦。雖然接觸的這麼多,但是,你瞭解電腦裡面的元件有什麼嗎?以桌機來說,電腦的機殼裡面含有什麼元件?不同的電腦可以應用在哪些工作?你生活 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...