<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • centos搭建網站教程(centos搭建服務器的方法)


    首先,安裝好NGINX服務器(安裝方法請參加我發布的“centos7搭建nginx網站服務器一次性通過”文章)。

    現在開始配置PHP服務器

    一、首先安裝PHP服務

    1、安裝php的lib庫

    #yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devellibiconv-devel curl-devel mhash mcrypt -y
    #yum install freetype-devel libpng-devel gd-devel libcurl-devellibxslt-devel libxslt-devel libmcrypt-devel openssl openssl-devel libbz2-dev -y

    3、安裝和下載php

    下載地址:
    https://www.php.net/releases/,下載安裝包

    #wget https://www.php.net/distributions/php-5.5.32.tar.gz 
    #tar -zxvf php-5.5.32.tar.gz 
    #cd php-5.5.32

    開始安裝PHP服務

    #./configure \
    --prefix=/usr/local/php-5.5.32 \
    --with-mysql=/opt/mysql/ \
    --with-pdo-mysql=mysqlnd \
    --with-iconv-dir \
    --with-freetype-dir \
    --with-jpeg-dir \
    --with-png-dir \
    --with-zlib \
    --with-libxml-dir=/usr \
    --enable-xml \
    --disable-rpath \
    --enable-bcmath \
    --enable-shmop \
    --enable-sysvsem \
    --enable-inline-optimization \
    --with-curl \
    --enable-mbregex \
    --enable-fpm \
    --enable-mbstring \
    --with-mcrypt \
    --with-gd \
    --enable-gd-native-ttf \
    --with-openssl \
    --with-mhash \
    --enable-pcntl \
    --enable-sockets \
    --with-xmlrpc \
    --enable-soap \
    --enable-short-tags \
    --enable-static \
    --with-xsl \
    --with-fpm-user=nginx \
    --with-fpm-group=nginx \
    --enable-ftp \
    --enable-opcache=no

    ################################################################

    ./configure 編譯參數詳解

    –prefix=/application/php5.3.27 指定php的安裝路徑為/application/php5.3.27

    –with-mysql=/application/mysql/

    需要指定mysql的安裝路徑,安裝PHP需要的MySQL相關內容。當然如果沒有MySQL軟件包,也可以不單獨安裝,這樣的情況可使用–with-mysql=mysqlnd替代–with-mysql=/application/mysql,因為PHP軟件里面已經自帶連接MySQL的客戶端工具。

    –with-iconv-dir=/usr/local/libiconv libiconv庫,各種字符集間的轉換

    –with-freetype-dir 打開對freetype字體庫支持

    –with-jpeg-dir 打開對jpeg圖片的支持

    –with-png-dir 打開對png圖片的支持

    –with-zlib 打開zlib庫的支持,用于http壓縮傳輸

    –with-libxml-dir=/usr 打開libxml2庫的支持

    –enable-xml

    –disable-rpath 關閉額外的運行庫文件

    –enable-safe-mode 打開安全模式

    –enable-bcmath 打開圖片大小調整,用zabbix監控時會用到該模塊

    –enable-shmop

    –enable-sysvsem 使用sysv信號機制,則打開此選項


    enable-inline-optimization 優化線程

    –with-curl 打開curl瀏覽工具的支持

    –with-curlwrappers 運用curl工具打開url流

    –enable-mbregex

    –enable-mbstring 支持mbstring

    –with-mcrypt 編碼函數庫

    –with-gd 打開gd庫的支持

    –enable-gd-native-ttf 支持TrueType字符串函數庫

    –with-openl openl的支持,加密傳輸時用到

    –with-mhash mhash算法的擴展

    –enable-pcntl freeTDS需要用到,可能是鏈接mql

    –enable-sockets 打開sockets支持

    –with-xmlrpc 打開xml-rpc的c語言

    –enable-zip 打開對zip的支持

    –enable-soap soap模塊的擴展

    –enable-short-tags 開始和標記函數

    –enable-zend-multibyte 支持zend的多字節

    –enable-static 生成靜態鏈接庫

    –with-xsl 打開XSLT文件支持,擴展libXML2庫,需要libxslt軟件

    –enable-ftp 打開ftp的支持

    –enable-fpm 表示激活PHP-FPM方式服務,即FactCGI方式運行PHP服務。

    –with-fpm-user=www 指定PHP-FPM進程管理的用戶為www,此處最好和Nginx服務用戶統一。

    –with-fpm-group=www 指定PHP-FPM進程管理用戶組為www,此處最好和Nginx服務用戶組統一。

    ################################################################

    備注:防錯

    #ln -s /usr/local/mysql/lib/libmysqlclient.so.18  /usr/lib64/
    #touch ext/phar/phar.phar

    編譯安裝

    # make
    # make install

    創建軟鏈接

    #ln -s /usr/local/php-5.5.32 /usr/local/php 

    復制php配置文件到安裝目錄

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

    添加軟鏈接到 /etc目錄

    #ln -s /usr/local/php/etc/php.ini  /etc/php.ini 

    復制模板文件為php-fpm配置

    #cp /usr/local/php/etc/php-fpm.conf.default  /usr/local/php/etc/php-fpm.conf 

    添加軟件鏈接到 /etc目錄

    #ln -s /usr/local/php/etc/php-fpm.conf  /etc/php-fpm.conf  

    編輯php配置文件php-fpm.conf

    #vim /usr/local/php/etc/php-fpm.conf   
    pid = run/php-fpm.pid    
    user = nginx
    group = nginx

    保存并退出

    #:wq! 

    修改網頁存放文件夾權限

    #chown -R nginx.nginx /usr/local/nginx/html 

    啟動php-fpm

    #/usr/local/php/sbin/php-fpm

    二、開始配置nginx

    1、找到nginx的配置文件,先備份文件配置文件

    #cp /usr/local/nginx/conf/nginx.conf nginx.conf.bak

    2、開始編輯配置文件

    #vim /usr/local/nginx/conf/nginx.conf
    server {
    	listen 80;
    	server_name  localhost;
    	access_log  /var/log/nginx/access.log  main;
    	location / {
    		root /usr/share/nginx/html;
    		index index.php;
    	}
    	location ~ \.php$ {
    		root /usr/share/nginx/html;
    		fastcgi_pass 127.0.0.1:9000;
    		fastcgi_index  index.php;
    		fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    		include		fastcgi_params;
    	}
         }

    (備注:$document_root可以用/usr/share/nginx/html替換)

    3、保存配置文件,并重啟

    #:wq
    #/usr/local/nginx/sbin/nginx -t
    #/usr/local/nginx/sbin/nginx -s reload 

    備注:配置文件nginx.conf的解述如下

    【 nginx.conf 】

    #運行用戶

    user nginx;

    #啟動進程, 通常設置成和cpu的數量相等; 用cat /proc/cpuinfo查看cpu信息, cpu cores一欄顯示內核數

    worker_processes 1;

    #全局錯誤日志及PID文件(
    /usr/local/nginx/logs/error.log)

    error_log /var/log/nginx/error.log;

    #進程id存儲文件(
    /usr/local/nginx/logs/nginx.pid)

    pid /var/run/nginx.pid;

    #工作模式及連接數上限

    events {

    use epoll; #epoll是多路復用IO(I/O Multiplexing)中的一種方式,但是僅用于linux2.6以上內核,可以大大提高nginx的性能

    worker_connections 1024; #單個后臺worker process進程的最大并發鏈接數

    # multi_accept on; #在nginx獲得有新連接的通知之后,接受盡可能多的連接, 如果worker_connections設置太低的話,這樣可能會造成擁堵

    }

    #設定http服務器,利用它的反向代理功能提供負載均衡支持

    http {

    #設定mime類型,類型由mime.type文件定義,可以打開mime.type來看(
    /usr/local/nginx/conf/mime.types)

    #MIME(Multipurpose Internet Mail Extensions)多用途互聯網郵件擴展類型.

    include /etc/nginx/mime.types;

    #默認文件類型以二進制數據傳輸

    default_type application/octet-stream;

    #設定日志文件(
    /usr/local/nginx/logs/access.log)

    access_log /var/log/nginx/access.log;

    #關閉在錯誤頁面中的nginx版本數字,這樣對于安全性是有好處的。

    server_tokens off;

    #sendfile 指令指定 nginx 是否調用 sendfile 函數(zero copy 方式)來輸出文件,對于普通應用,

    #必須設為 on,如果用來進行下載等應用磁盤IO中負載應用,可設置為 off,以平衡磁盤與網絡I/O處理速度,降低系統的uptime.

    sendfile on;

    #告訴nginx在一個數據包里發送所有頭文件,而不一個接一個的發送

    #tcp_nopush on;

    #給客戶端分配keep-alive連接超時時間

    #keepalive_timeout 0;

    keepalive_timeout 65;

    #告訴nginx不要緩存數據,而是一段一段的發送;當需要及時發送數據時,就應該給應用設置這個屬性,這樣發送一小塊數據信息時就不能立即得到返回值

    tcp_nodelay on;

    #開啟gzip壓縮

    gzip on;

    #指定的客戶端禁用gzip功能。我們設置成IE6或者更低版本以使我們的方案能夠廣泛兼容。

    gzip_disable “MSIE [1-6]\.(?!.*SV1)”;

    #設定請求緩沖

    、、 client_header_buffer_size 1k;

    、、
    large_client_header_buffers 4 4k;

    open_file_cache max=100000 inactive=20s; #打開緩存的同時也指定了緩存最大數目,以及緩存的時間; 我們可以設置一個相對高的最大時間,這樣我們可以在它們不活動超過20秒后清除掉。

    open_file_cace_valid 30s; #在open_file_cache中指定檢測正確信息的間隔時間

    open_file_cache_min_uses 2; #定義了open_file_cache中指令參數不活動時間期間里最小的文件數

    open_file_cache_errors on; #指定了當搜索一個文件時是否緩存錯誤信息,也包括再次給配置中添加文件。我們也包括了服務器模塊,這些是在不同文件中定義的。如果你的服務器模塊不在這些位置,你就得修改這一行來指定正確的位置。

    #虛擬主機的配置文件

    include /etc/nginx/conf.d/*.conf;

    include /etc/nginx/sites-enabled/*;

    #設定負載均衡的服務器列表

    upstream mysvr {

    #weigth參數表示權值,權值越高被分配到的幾率越大

    #本機上的Squid開啟3128端口

    server 192.168.8.1:3128 weight=5;

    server 192.168.8.2:80 weight=1;

    server 192.168.8.3:80 weight=6;

    }

    server {

    #偵聽80端口

    listen 80;

    #定義使用www.xx.com訪問

    server_name www.xx.com;

    #設定本虛擬主機的訪問日志

    access_log logs/www.xx.com.access.log main;

    #默認請求

    location / {

    root /root; #定義服務器的默認網站根目錄位置

    index index.php index.html index.htm; #定義首頁索引文件的名稱

    fastcgi_pass www.xx.com;

    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

    include /etc/nginx/fastcgi_params;

    }

    # 定義錯誤提示頁面

    error_page 500 502 503 504 /50x.html;

    location = /50x.html {

    root /root;

    }

    #靜態文件,nginx自己處理

    location ~ ^/(images|javascript|js|css|flash|media|static)/ {

    root /var/www/virtual/htdocs;

    #過期30天,靜態文件不怎么更新,過期可以設大一點,如果頻繁更新,則可以設置得小一點。

    expires 30d;

    }

    #PHP 腳本請求全部轉發到 FastCGI處理. 使用FastCGI默認配置.

    location ~ \.php$ {

    root /root;

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

    fastcgi_param SCRIPT_FILENAME /home/www/www$fastcgi_script_name;

    include fastcgi_params;

    }

    #設定查看Nginx狀態的地址

    location /NginxStatus {

    stub_status on;

    access_log on;

    auth_basic “NginxStatus”;

    auth_basic_user_file conf/htpasswd;

    }

    #禁止訪問 .htxxx 文件

    location ~ /\.ht {

    deny all;

    }

    }

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费