Memcached部署(下)

来源:http://www.cnblogs.com/NewStudy/archive/2017/08/02/7271539.html
-Advertisement-
Play Games

搭建Nginx+PHP環境 搭建Nginx+PHP環境用於Memcached的PHP擴展的測試 1. 安裝PHP [root@chunlin PHP] tar zxf php 7.1.5.tar.gz [root@chunlin PHP] cd php 7.1.5 [root@chunlin php ...


搭建Nginx+PHP環境

搭建Nginx+PHP環境用於Memcached的PHP擴展的測試

1. 安裝PHP

[root@chunlin PHP]# tar -zxf php-7.1.5.tar.gz
[root@chunlin PHP]# cd php-7.1.5
[root@chunlin php-7.1.5]# mkdir /usr/local/php
[root@chunlin php-7.1.5]# mkdir /usr/local/php/etc
[root@chunlin php-7.1.5]# mkdir /usr/local/php/etc/php.d
[root@chunlin php-7.1.5]# useradd -s /sbin/nologin php_fpm
[root@chunlin php-7.1.5]# yum install -y libxml2.x86_64
[root@chunlin php-7.1.5]# yum install -y libxml2-devel.x86_64
[root@chunlin php-7.1.5]# ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-config-file-scan-dir=/usr/local/php/etc/php.d \
--enable-fpm \
--with-fpm-user=php_fpm \
--with-fpm-group=php_fpm \
--with-mysqli=/usr/bin/mysql_config \
--with-pdo-mysql=/usr/local/mysql \
--with-mysql-sock=/var/lib/data/mysql/mysql.sock \
--enable-xml \
--with-libxml-dir=/usr/bin/xml2-config

2. PHP配置

  • 準備配置文件

[root@chunlin php-7.1.5]# cp php.ini-production /usr/local/php/etc/php.ini
[root@chunlin php-7.1.5]# cd /usr/local/php/etc/
[root@chunlin etc]# mv php-fpm.conf.default php-fpm.conf
[root@chunlin etc]# ln -s /usr/local/php/etc/php.ini /etc/php.ini
[root@chunlin etc]# ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf
[root@chunlin ~]# cd /usr/local/php/etc/php-fpm.d/
[root@chunlin php-fpm.d]# mv www.conf.default www.conf

  • 修改配置文件

  • vim php-fpm.conf

    [root@chunlin ~]# cd /usr/local/php/etc/
    [root@chunlin etc]# vim php-fpm.conf
    [global]
    pid = run/php-fpm.pid
    error_log = log/php-fpm.log
    log_level = warning
    #其他選項使用文件中給出的預設配置即可

  • vim www.conf

    [root@chunlin php-fpm.d]# cd /usr/local/php/etc/php-fpm.d/
    [root@chunlin php-fpm.d]# vim www.conf
    user = php_fpm
    group = php_fpm
    listen.owner = php_fpm
    listen.group = php_fpm
    listen.mode = 0660
    #其他選項使用文件中給出的預設配置即可

  • vim php.ini

    [root@chunlin ~]# ln -s \
    /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    #設置時區為上海
    [root@chunlin ~]# vim /etc/php.ini
    date.timezone = Asia/Shanghai
    expose_php = Off
    #出於安全靠慮
    short_open_tag = On
    #支持短標簽
    disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,
    proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,
    syslog,readlink,symlink,popepassthru,stream_socket_server,
    fsocket,popen
    #出於安全的考慮禁用某些函數
    opcache.enable=1
    opcache.enable_cli=1
    extension_dir = "/usr/local/php/lib/php/extensions
    /no-debug-non-zts-20160303"
    zend_extension=opcache.so
    #開啟opcache緩存
    #其他選項使用文件中給出的預設配置即可

  • 配置php-fpm自啟動

[root@chunlin ~]# cd /usr/local/package/LNMP/PHP/php-7.1.5
[root@chunlin php-7.1.5]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@chunlin php-7.1.5]# chmod 755 /etc/init.d/php-fpm
[root@chunlin php-7.1.5]# chkconfig --add php-fpm
[root@chunlin php-7.1.5]# chkconfig php-fpm on

3. Nginx編譯安裝

1)安裝準備
  • 系統:redhat6.5.x86_64
  • 軟體:nginx-1.10.3.tar.gz(穩定版)、gcc.x86_64、pcre-devel.x86_64、perl-ExtUtils-Embed.x86_64、zlib-devel.x86_64、openssl-devel.x86_64

[root@chunlin Nginx]# mkdir /opt/nginx
[root@chunlin Nginx]# tar -zxf nginx-1.10.3.tar.gz
[root@chunlin Nginx]# ls
nginx-1.10.3 nginx-1.10.3.tar.gz
[root@chunlin Nginx]# cd nginx-1.10.3

[root@chunlin nginx-1.10.3]# vim auto/cc/gcc
#debug
#CFLAGS="$CFLAGS -g"

將以上兩行註釋掉,取消nginx的debug編譯模式,編譯更快。

[root@chunlin nginx-1.10.3]# vim src/core/nginx.h
#define NGINX_VER "nginx"

上面的那條修改是為了nginx伺服器的安全,隱藏了nginx版本,需要將#define NGINX_VER後面的雙引號中的字元串改為nginx

2)編譯安裝

[root@chunlin nginx-1.10.3]# ./configure --prefix=/opt/nginx \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_perl_module \
--with-http_ssl_module

configure是個shell腳本,是autoconf的工具的基本應用,用來配置軟體屬性,安裝目錄,檢查編譯所需的庫文件是否存在或者符合條件等,生成編譯所需要的Makefile 文件。

編譯的時候我選擇將http_gzip_static_module、http_stub_status_module、http_perl_module、http_ssl_module這四個模塊編譯進去。

  • http_gzip_static_module:這個模塊支持線上實時壓縮輸出數據流
  • http_stub_status_module:監控Nginx的狀態
  • http_perl_module:支持Perl腳本
  • http_ssl_module:開啟SSL模塊,支持使用HTTPS協議的網頁

[root@chunlin nginx-1.10.3]# make
#make 是 Linux 開發套件裡面自動化編譯的一個控製程序,它根據Makefile控制代碼編譯源碼。如果在make過程中出錯了,可以通過先make clean,然後再重新make。
[root@chunlin nginx-1.10.3]# make install

4. Nginx配置

[root@chunlin ~]# vim /opt/nginx/conf/nginx.conf
#需要先安裝Nginx,以下是配置文件中要修改或增加的內容

user  php_fpm php_fpm;
location / {
        root   html;
        index  index.html index.htm index.php;
    }
location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

[root@chunlin ~]# nginx -t
[root@chunlin ~]# nginx -s reload


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

-Advertisement-
Play Games
更多相關文章
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...