1. 程式人生 > >LNMP的安裝配置

LNMP的安裝配置

LNMP=Linux+Nginx+Mysql+PHP。

下面介紹它的安裝和配置說明。

整個安裝過程我們不採用預設安裝,而是自定義安裝,安裝在/home/zhaolincheung/local目錄下。

一.Mysql的安裝

1.下載安裝

解壓mysql的原始碼包mysql-5.1.50.tar.gz,切換到安裝目錄下,這裡安裝到當前使用者zhaolincheung的local目錄下,如下:

./configure --prefix=/home/zhaolinchueng/local/mysql --sysconfdir=/home/zhaolinchueng/local/mysql

--localstatedir=/home/zhaolinchueng/local/mysql/data

--with-unix-socket-path=/home/zhaolinchueng/local/mysql/tmp/mysql.sock

--with-charset=utf8 --with-plugins=innobase --with-client-ldflags=-all-static

--with-mysqld-ldflags=-all-static

sysconfdir表示mysql的配置檔案路徑,localstatedir表示資料檔案路徑,socket配置和最後2個屬性主要用來提升效能。

如果要使用innodb引擎,記得加上--with-plugins=innobase。

然後執行:

 make

 makeinstall

2.配置

(1).複製/home/zhaolinchueng/local/mysql/share/mysql/my-medium.cnf到mysql根目錄下,改名為my.cnf。

切換到mysql的bin目錄下,執行:

./mysql_install_db --basedir=/home/zhaolinchueng/local/mysql --datadir=/home/zhaolinchueng/local/mysql/data

(2).複製/home/zhaolinchueng/local/mysql/libexec/mysqld到mysql的bin目錄下,啟動mysql服務

/home/zhaolinchueng/local/mysql/bin/mysqld_safe --ledir=/home/zhaolinchueng/local/mysql/bin

--log-error=/home/zhaolinchueng/local/mysql/data/t.err --datadir=/home/zhaolinchueng/local/mysql/data

--socket=/home/zhaolinchueng/local/mysql/tmp/mysql.sock --pid-file=/home/zhaolinchueng/local/mysql/data/mysqld.pid

(3).再用ps命令檢視mysql是否啟動,如果不能啟動用netstat命令檢查3306埠是否被佔用,如果是則修改my.cnf的埠配置。

切換到mysql的bin目錄下,執行./mysqladmin -u root password '123' 來修改root登入密碼。

修改/home/zhaolinchueng/local/mysql/share/mysql/mysql.server的程式碼:

pid_file=/home/zhaolinchueng/local/mysql/data/mysqld.pid

停止mysql服務:/home/zhaolinchueng/local/mysql/share/mysql/mysql.server stop

為了方便,可以把啟動和停止mysql服務命令寫成shell指令碼。

建議在my.cnf中新增sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"。

二.Nginx安裝

1. 準備安裝包nginx-0.8.53.tar.gz,解壓,進入目錄

2. 執行

./configure --prefix=/home/zhaolincheung/local/nginx

make && make install

3. 其他配置

這樣的話預設的配置檔案為/home/zhaolincheung/local/nginx/conf/nginx.conf,執行檔案為/home/zhaolincheung/local/nginx/sbin/nginx,

pid檔案為/home/zhaolincheung/local/nginx/logs/nginx.pid,因此可以在使用者主目錄下建立啟動檔案start.sh和關閉檔案stop.sh,方便啟動和關閉nginx。

啟動檔案start.sh內容為:/home/zhaolincheung/local/nginx/sbin/nginx

關閉檔案內容為:

pid=`cat/home/zhaolincheung/local/nginx/logs/nginx.pid`

kill $pid

三.php-fpm安裝

1.介紹

Php-fpm是一個php fastcgi的程序管理器,是隻用於php的。Php-fpm其實是php-fpm原始碼的一個補丁,旨在將fastcgi程序管理整合進php包中,必須將它patch到你的php原始碼中。現在php 5.3.3以上版本都整合了php-fpm的分支,不需要在單獨安裝了。

Php-fpm的好處是:提供了更好的php程序管理方式,可以有效控制記憶體和程序、可以平滑過載和php配置,所以最終被php官方收錄了。在php進行configure時帶上--enable-fpm引數即可開啟php-fpm。

而Fastcgi是一個可伸縮的,高速地在web server和指令碼語言間互動的介面。Fastcgi的主要是把動態語言(如php)和web server分離開來。這種技術允許把web server和動態語言執行在不同的主機上,以大規模擴充套件和改進安全性而不損失生產效率。

2.安裝

準備好php-5.2.14.tar.gz和php-5.2.14-fpm-0.5.14.diff.gz,解壓php-5.2.14.tar.gz。

然後分別執行解壓和打補丁命令:

gzip -d php-5.2.14-fpm-0.5.14.diff.gz  

patch -d php-5.2.14 -p1 < php-5.2.14-fpm-0.5.14.diff

這樣php 5.2.14就支援fastcgi了。php 5.3.x開始就內建了對fastcgi的支援,無需補丁,所以如果安裝php 5.3.x以上版本,則整個步驟二“php-fpm安裝”無需進行。

四.PHP安裝

安裝php需要安裝其他依賴:libxml2和libxml2-devel包。如果系統沒有安裝這些依賴,需要自己安裝,可以通過下面的命令:

yum install libxml2

yum install libxml2-devel –y

1.php5.3.3以下版本的安裝

./configure --prefix=/home/zhaolincheung/local/php --enable-fastcgi /

--enable-force-cgi-redirect --enable-fpm /

--with-config-file-path=/home/zhaolincheung/local/php/lib --with-mysql=/home/zhaolincheung/local/mysql /

--with-pdo-mysql=/home/zhaolincheung/local/mysql --with-curl=/home/zhaolincheung/local/curl --enable-mbstring

完成後再執行

make&& make install

2.php 5.3.3以上版本的安裝

php5.3.3及以上的版本內建了fpm ,此處用5.3.4舉例,下載後解壓,進入解壓後目錄 :

./configure --prefix=/home/zhaolinchueng/local/php --enable-fpm /

--with-config-file-path=/home/zhaolinchueng/local/php/lib --with-mysql=/home/zhaolincheung/local/mysql /

--with-pdo-mysql=/home/zhaolincheung/local/mysql --with-curl=/home/zhaolincheung/local/curl --enable-mbstring

然後再執行

make && make install

五.Nginx配置

1.nginx.conf的網際網路配置方法

工業界的配置方法如下:

首先開啟nginx的安裝目錄下的nginx.conf,這裡為/home/zhaolincheung/local/nginx/conf/nginx.conf,其內容如下:

user  www www;
worker_processes 16;
error_log   logs/nginx_error.log  crit;
pid        logs/nginx.pid;
worker_rlimit_nofile 51200;

events 
{
	use epoll;
	worker_connections 51200;
}

http 
{
	include       mime.types;
	default_type  application/octet-stream;
	server_names_hash_bucket_size 128;
	client_header_buffer_size 32k;
	large_client_header_buffers 4 32k;
        client_max_body_size 8m;
      
	sendfile on;
	tcp_nopush     on;

	keepalive_timeout 60;

	tcp_nodelay on;

	fastcgi_connect_timeout 300;
	fastcgi_send_timeout 300;
	fastcgi_read_timeout 300;
	fastcgi_buffer_size 64k;
	fastcgi_buffers 4 64k;
	fastcgi_busy_buffers_size 128k;
	fastcgi_temp_file_write_size 128k;
	fastcgi_intercept_errors on;
	fastcgi_hide_header Pragma;

	gzip on;
	gzip_min_length  1k;
	gzip_buffers     4 16k;
	gzip_http_version 1.0;
	gzip_comp_level 2;
	gzip_types       text/plain application/x-javascript text/css application/xml;
	gzip_vary on;

	autoindex off;
	server_tokens off;
	server_name_in_redirect off;
##################################################################################

log_format  misc  '$http_x_forwarded_for $remote_addr $host $server_addr [$time_local] "$request" $request_time'
                                          ' $status $body_bytes_sent "$http_referer" '
                                          '"$http_user_agent"';


#################################################################################
	include webim_analys_nginx.conf;#通過include包含虛擬主機1的配置檔案

        include abc_nginx.conf;#通過include包含虛擬主機2的配置檔案

}

上面的檔案通過include來包含虛擬主機的配置檔案,這樣就相當於我們啟動了一個nginx服務,所以我們需要在/home/zhaolinchueng/local/nginx/conf/目錄下新建一個名為webim_analys_nginx.conf的檔案,內容如下:

  server
  {
    listen       80;
    server_name  zhaolincheung.gj.com;
    index index.html index.htm index.php;
    root  /data/webim/analys;
    
    autoindex on;
                            
    location ~ .*\.(php|php5)?$
    {      
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      include fcgi.conf;
    }
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
      expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
      expires      1h;
    }
    
    location /(WEB-INF)/ { 
      deny all; 
    }    

    log_format  webim_analys_access  '$remote_addr $host $server_addr [$time_local] "$request" $request_time' 
                                ' $status $body_bytes_sent "$http_referer" ' 
                                '"$http_user_agent"' 
                                '$request_body' 
                                '$content_length'; 
    access_log  /data/webim/analys/log/access.log webim_analys_access;
  }

說明:root表示網頁程式的存放目錄,這裡為/data/webim/analys。log_format是定義nginx輸出日誌的格式,其中日誌的位置在/data/webim/analys/log/access.log。所以,需要使用者建立一個目錄log,並在該目錄下建立一個access.log檔案。

2.啟動nginx,檢視配置是否正確

執行/home/zhaolincheung/local/php/sbin/php-fpm ,然後啟動nginx,最後在/home/zhaolincheung/local/nginx/html資料夾下建立index.php,

輸出phpinfo看看成功沒,index.php內容如下:

<?php

echophpinfo();

?>

六.php配置

1.準備php.ini和php-fpm.conf檔案

把php原始碼解壓縮目錄下的php.ini-production複製到php的安裝目錄/home/zhaolincheung/local/php/lib下,並改名php.ini,

在/home/zhaolincheung/local/php/etc/本目錄下複製一份php-fpm.conf.default,並命名為php-fpm.conf

2. 開啟php-fpm.conf,去掉相應的分號註釋,最後如下

pid= run/php-fpm.pid

error_log= log/php-fpm.log

listen= 127.0.0.1:9000

pm =dynamic

pm.max_children= 50

pm.start_servers= 20

pm.min_spare_servers= 5

pm.max_spare_servers= 35

pm.max_requests= 500

3.php.ini的修改

php.ini牽扯到很多php的外掛,如對mysql的支援,對memcached的支援。

如果修改了php.ini,只需執行php-fpm,不必重啟nginx
開發測試的時候最好是把php.ini的 display_errors 開啟,否則nginx遇錯直接給出500頁面,不會顯示錯誤資訊。

七.php-fpm的啟動、關閉和重啟

Php-fpm是管理php fastcgi的。php 5.3.3以上的版本的php-fpm 不再支援 php-fpm 以前具有的 /home/zhaolincheung/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用訊號控制。

1.php 5.3.3以下版本的啟動、關閉和重啟如下:

啟動:/home/zhaolincheung/local/php/sbin/php-fpmstart

關閉:/home/zhaolincheung/local/php/sbin/php-fpmstop

重啟:/home/zhaolincheung/local/php/sbin/php-fpmreload

2.php 5.3.3 以上版本的啟動、關閉和重啟如下:

master程序可以理解以下訊號:

INT,TERM 立刻終止;

QUIT平滑終止;

USR1重新開啟日誌檔案;

USR2平滑過載所有worker程序並重新載入配置和二進位制模組。

示例:

Php-fpm啟動:/home/zhaolincheung/local/php/sbin/php-fpm

php-fpm關閉:kill -INT `cat /home/zhaolincheung/local/php/var/run/php-fpm.pid`

php-fpm重啟:kill -USR2`cat /home/zhaolincheung/local/php/var/run/php-fpm.pid`

注:檢視php-fpm程序數:ps aux | grep -c php-fpm

八.php擴充套件(mysql/pdo/curl等)的單獨安裝

如果安裝php時,沒有指定--with-mysql、--with-pdo-mysql、--with-curl這些選項,則預設不會安裝對應的mysql、pdo和curl的擴充套件,需要安裝完php後,另行安裝,相對來講會比較麻煩,建議採用預設安裝。

不過,採用預設安裝的前提,是這些軟體已經安裝好,即mysql資料庫、curl已經安裝好,這時只需要指定--with-mysql、--with-pdo-mysql、--with-curl這些引數,就實現了安裝對應的php擴充套件。如下所示安裝php時,進行指定:

./configure --prefix=/home/zhaolinchueng/local/php --enable-fpm /

--with-config-file-path=/home/zhaolinchueng/local/php/lib --with-mysql=/home/zhaolincheung/local/mysql /

--with-pdo-mysql=/home/zhaolincheung/local/mysql --with-curl=/home/zhaolincheung/local/curl --enable-mbstring

下面舉例介紹php擴充套件的安裝方法:

1.Mysql擴充套件

(1)進入php原始碼目錄:cd /home/zhaolincheung/php-5.3.1/

(2)再進入php原始碼目錄下的mysql擴充套件原始碼目錄:cdext/mysql/

(3)呼叫已經編譯好的php裡面的phpsize:/home/zhaolincheung/local/php/bin/phpsize

(4)然後configure:./configure –with-php-config=/home/zhaolinchueng/local/php/bin/php-config–with-mysql=/home/zhaolincheung/local/mysql

注:/home/zhaolincheung/local/mysql為mysql的安裝目錄。

(5)然後make && make install

(6)編譯之後,系統自動把mysql.so放到了預設的php擴充套件目錄下(phpinfo可以檢視,這裡為/home/zhaolincheung/local/php/lib/php/extensions/no-debug-zts-20090626)。此時,需要我們把mysql.so更名為php_mysql.so。然後進入到/home/zhaolincheung/local/php/lib目錄下,修改php.ini,去掉;extensions=php_mysql.so前面的分號。

(7)重啟nginx和php-fpm。

相關推薦

LNMP安裝配置

裝配 .com 圖片 roc oot table shadow 庫文件 boot LNMP安裝配置 目錄bin:存放普通用戶可執行命令sbin:存放超級用戶可執行命令which iptables : 查看boot目錄:存放系統啟動所需(內核,映像

Chapter one:安裝配置LNMP

lnmp源碼安裝配置LNMP更新時間:2016-08-02系統環境:CentOS 6.5軟件環境:nginx 1.8.1、mysql 5.6.22、php 5.6.19本機IP :192.168.1.88、192.168.1.36關閉防火墻和安全機制#service iptables stop#setenf

CENTOS7+LNMP+zabbix3.2.6安裝配置

centos7+lnmp+zabbix3.2.6;linux centos7 nginx mysql php5.6.38 zabbix_server 3.2.61、安裝MySQL1.1、安裝MySQLrpm -ivh http://dev.mysql.com/get/mysql-community-relea

lnmp 安裝FTP服務 並配置FTP用戶

image pureftpd col 顯示 pan code nmp 成功 ref lnmp 默認是不帶FTP服務的,需要的童鞋要自行安裝.步驟也很簡單 一,進入lnmp目錄,找到pureftpd.sh 二,直接運行該腳本 ./pureftpd.sh

CentOS 6.4安裝配置LNMP服務器(Nginx+PHP+MySQL)

mysql- ket 是否 分號 使用 store 重啟 isa tpi 一 安裝篇 1. 安裝nginx yum check-update #更新yum源 yum remove httpd* php* #刪除系統自帶的軟件包 yum install nginx #安裝ng

CentOS 6 yum安裝配置lnmp服務器

設置密碼 客戶端 inux listening logs and cat 服務 load 一、準備: 1.配置防火墻,開啟80端口、3306端口編輯 /etc/sysconfig/iptables,添加如下條目: -A INPUT -m state --state

lnmp環境安裝配置tomcat + jdk

lnmt安裝jdk的版本 1.8● 各種版本可在官網http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 頁面下載● tar -zxvf jdk-8u171-linux-x64.tar.gz /

基於LNMP環境安裝配置phpMyAdmin4.8

LNMP PHP7 phpmyadmin nginx MySQL phpMyAdmin是一個以PHP為基礎、以Web-Base方式架構在網站主機上的、可以通過web方式管理和操作MySQL數據庫的管理工具。本文主要內容為基於LNMP環境安裝phpMyAdmin4.8。一、安裝環境1、主機I

lnmp 安裝包的的各種配置檔案目錄

LNMP相關軟體安裝目錄 Nginx 目錄: /usr/local/nginx/ MySQL 目錄 : /usr/local/mysql/ MySQL資料庫所在目錄:/usr/local/mysql/var/ MariaDB 目錄 : /usr/local/mariadb/

LNMP安裝目錄及配置檔案位置

LNMP相關軟體安裝目錄 Nginx 目錄: /usr/local/nginx/ MySQL 目錄 : /usr/local/mysql/MySQL資料庫所在目錄:/usr/local/mysql/var/MariaDB 目錄 : /usr/local/mariadb/MariaDB資料庫

lnmp環境配置laravel生產環境需要安裝的擴充套件

安裝完lnmp之後,我們還需要安裝zip,dom,mbstring等擴充套件。 安裝mbstring擴充套件 sudo apt-get install php7.0-mbstring 安裝do

lnmp安裝配置tp5專案所需要的準備

配置 *.conf 檔案 新增配置檔案目錄 # 開啟nginx.conf配置檔案目錄 cd /usr/local/nginx/conf # 新增配置目錄 vim nginx.conf user www www; worker_processes a

安裝lnmp配置允許遠端連線mysql

1、解壓縮 2、安裝(確保可以聯網) 3、根據需求配置,之後就是等待 4、安裝完成以後開啟瀏覽器,輸入localhost,看到這個即安裝成功 5、這個安裝很簡單,我這主要是講怎麼遠端連線mysql,因為lnmp預設是禁止遠

LNMP安裝配置

LNMP=Linux+Nginx+Mysql+PHP。 下面介紹它的安裝和配置說明。 整個安裝過程我們不採用預設安裝,而是自定義安裝,安裝在/home/zhaolincheung/local目錄下。 一.Mysql的安裝 1.下載安裝 解壓mysql的原始碼包mysql

Linux Centos伺服器一鍵安裝配置LNMP/LAMP網站環境——寶塔建站視覺化(無需敲命令)

Linux網站環境LAMP/LNMP環境配置 寶塔面板的安裝流程 本文提供全流程,中文翻譯。 Chinar 堅持將簡單的生活方式,帶給世人!(擁有更好的閱讀體驗 —— 高解析度使用者請根據需求調整

LNMP安裝配置之Nginx

file 軟件 inf nginx -t enable web服務 常用命令 第一個 服務 Nginx簡介 Nginx (engine x) 是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務。Nginx是由伊戈爾·賽索耶夫為俄羅斯

Linux - vim安裝 配置與使用

格式 only ctx net height border term mona 方便 一 Vim 簡單介紹 曾經一直用vi,近期開始使用 vim,以下將兩者做一下比較。 vi和vim都是多模式編輯器,不同的是vim 是vi的升級版本號,它不僅兼容vi的全部指令,並且

Tomcat8.5的安裝配置

tomcat安裝配置1. 安裝JDKJDK官網地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html點擊"JDK DOWNLOAD"進入下載頁面下載JDK軟件包,註意需選中"Accept License Agreement"才

tomcat免安裝配置

base ice install file log 安裝配置 image images nbsp 1、首先設置環境變量CATALINA_BASE、CATALINA_HOME: 2、設置好環境變量後,打開bin目錄下的startup.jar,[email pro

CentOS6上新增硬盤並安裝配置grub文件

centos6上新增硬盤並安裝配置grub文件實例:為運行於虛擬機上的CentOS 6添加一塊新硬件,提供兩個主分區;(1) 為硬盤新建兩個主分區;並為其安裝grub; (2) 為硬盤的第一個主分區提供內核和ramdisk文件; 為第二個分區提供rootfs; (3) 為rootfs提供bash、ls、cat