當前位置:首頁 » 雲伺服器 » nginxphp伺服器搭建

nginxphp伺服器搭建

發布時間: 2023-08-19 07:57:02

A. 如何正確配置Nginx+php

其實沒多復雜
1. 將nginx和php都裝好了
2. 然後配置nginx,將php請求分發給php-fpm處理
linux下的配置文件一般在/usr/local/nginx/conf/nginx.conf
找到下面字樣,並取消注釋,且注意這個$document_root這個地方(原本應為$script***的,改成$document_root)
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;
}

3.啟動nginx和php-fpm,然後寫個phpinfo腳本測試下成功與否就可以了

B. Thinkphp5項目在nginx伺服器部署

1,切換到nginx的配置目錄,找到nginx.conf文件

    cd   /usr/local/nginx/conf

    vim  nginx.conf

2,如果是單項目部署的話,只需要在nginx.conf文件裡面加上以下

server{

        listen 80;

        # 域名,本地測試可以使用127.0.0.1或localhost

        server_name www.zhangc.cn;

        # php項目根目錄

        root /home/data-www/blog;

        location /{

                # 定義首頁索引文件的名稱

                index index.php index.html index.htm;

                # 影藏入口文件

                if (-f $request_filename/index.html){

                            rewrite (.*) $1/index.html break;

                }

                if (-f $request_filename/index.php){

                            rewrite (.*) $1/index.php;

                }

                if (!-f $request_filename){

                            rewrite (.*) /index.php;

                }

                try_files $uri $uri/ /index.php?$query_string;

        }

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

        # Fastcgi伺服器和程序(PHP)溝通的協議

        .location ~ .*\.php${

                # 設置監聽埠

                fastcgi_pass 127.0.0.1:9000;

                # 設置nginx的默認首頁文件

                fastcgi_index index.php;

                # 設置腳本文件請求的路徑

                fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;

                # 引入fastcgi的配置文件

                include fastcgi_params;

                fastcgi_split_path_info ^(.+?\.php)(/.*)$;

                set $path_info $fastcgi_path_info;

                fastcgi_param PATH_INFO $path_info;

                try_files $fastcgi_script_name =404;

        }

}

3,如果多項目部署,就需要配置vhost

第一步:編輯nginx.conf文件,在最後加上     include    vhost/*.conf;

第二步:進入vhost文件夾,創建    域名.conf    文件,如創建一個:quanma.meyat.com.conf

第三步:編輯quanma.meyat.com.conf文件,內容如下:

        server

        {

                listen 80;

                server_name quanma.meyat.com;

                index index.html index.htm index.php default.html default.htm default.php;

                root /data/wwwroot/default/quanma/public/;

                #error_page 404 /404.html;

                location / {

                        index index.html index.php;

                        if (-f $request_filename/index.html){

                                rewrite (.*) $1/index.html break;

                        }

                        if (-f $request_filename/index.php){

                                rewrite (.*) $1/index.php;

                        }

                        if (!-f $request_filename){

                                rewrite (.*) /index.php;

                        }

                        try_files $uri $uri/ /index.php?$query_string;

                }

                location ~ [^/]\.php(/|$)

                {

                        # comment try_files $uri =404; to enable pathinfo

                        #try_files $uri =404;

                        fastcgi_pass 127.0.0.1:9000;

                        fastcgi_index index.php;

                        include fastcgi_params;

                        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

                        fastcgi_split_path_info ^(.+?\.php)(/.*)$;

                        set $path_info $fastcgi_path_info;

                        fastcgi_param PATH_INFO $path_info;

                        try_files $fastcgi_script_name =404;

                        #include fastcgi.conf;

                        #include pathinfo.conf;

            }

            location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

            {

                    expires 30d;

            }

            location ~ .*\.(js|css)?$

            {

                    expires 12h;

            }

            # Disallow access to .ht, .svn, .bzr, .git, .hg, .cvs directories

            location ~ /\.(ht|svn|bzr|git|hg|cvs) {

                    deny all;

            }

            #access_log /date/nginx/bmp.com.conf/access.log main;

}

C. 雲伺服器如何配置nginx支持php

[root@redhat7 ~]# wget http://am1.php.net/get/php-7.1.2.tar.gz/from/this/mirror
[root@redhat7 ~]# tar xzvf php-7.1.2.tar.gz
[root@redhat7 ~]# cd php-7.1.2/
[root@redhat7 ~]# ./configure --prefix=/usr/local/php --enable-fpm
[root@redhat7 php-7.1.2]# make&&make install
查看是否成功編譯安裝PHP
[root@redhat7 php-7.1.2]# php -v
PHP 7.1.2 (fpm-fcgi) (built: Apr 14 2017 20:21:53)
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

編譯安裝完成後PHP不具備配置文件php.ini,此時只需復制php.ini-proction到 /usr/local/lib/php.ini即可,php.ini文件一般在/usr/local/lib/和/etc目錄下

[root@localhost php-7.1.2]# cp php.ini-proction /usr/local/lib/php.ini
[root@redhat7 php]# /usr/local/php/sbin/php-fpm
[14-Apr-2017 20:59:49] ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2)
[14-Apr-2017 20:59:49] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'
[14-Apr-2017 20:59:49] ERROR: FPM initialization failed
啟動php-fpm發現缺乏配置文件/usr/local/php/etc/php-fpm.conf
此時只需復制php-fpm的配置文件在安裝php時提供的配置文件的模版/usr/local/php/etc/php-fpm.conf.default到相應/usr/local/php/etc/php-fpm.conf即可

[root@redhat7 etc]# /usr/local/php/sbin/php-fpm
[14-Apr-2017 21:14:32] WARNING: Nothing matches the include pattern '/usr/local/php/etc/php-fpm.d/﹡.conf' from /usr/local/php/etc/php-fpm.conf at line 125.
[14-Apr-2017 21:14:32] ERROR: No pool defined. at least one pool section must be specified in config file
[14-Apr-2017 21:14:32] ERROR: failed to post process the configuration
[14-Apr-2017 21:14:32] ERROR: FPM initialization failed

[root@redhat7 etc]# cp php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

[root@redhat7 etc]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
[root@redhat7 etc]# /etc/init.d/php-fpm
[14-Apr-2017 21:23:02] ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)
[14-Apr-2017 21:23:02] ERROR: FPM initialization failed
[root@redhat7 etc]# netstat -nldp|grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3721/php-fpm: maste
[root@redhat7 php-7.1.2]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@redhat7 php-7.1.2]# chmod a+x /etc/init.d/php-fpm
[root@redhat7 php-7.1.2]# ll /etc/init.d/php-fpm
-rwxr-xr-x 1 root root 2401 4月 14 21:26 /etc/init.d/php-fpm
[root@redhat7 php-7.1.2]# /etc/init.d/php-fpm start
Starting php-fpm [14-Apr-2017 21:28:09] ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)
[14-Apr-2017 21:28:09] ERROR: FPM initialization failed
failed
[root@redhat7 php-7.1.2]# netstat -nldp |grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3721/php-fpm: maste
[root@redhat7 php-7.1.2]# kill 3721
[root@redhat7 php-7.1.2]# netstat -nldp |grep 9000
[root@redhat7 php-7.1.2]# /etc/init.d/php-fpm start
Starting php-fpm done
[root@redhat7 php-7.1.2]# service php-fpm status
php-fpm (pid 3927) is running...
[root@redhat7 php-7.1.2]# chkconfig --add php-fpm
[root@redhat7 php-7.1.2]# chkconfig php-fpm --level 345 on

配置nginx支持PHP
修改nginx的配置文件,支持php文件的解析,找到location的添加位置,在後面添加下面這個location
location ~ .php$ {
root /usr/share/nginx/html; #指定php的根目錄
fastcgi_pass 127.0.0.1:9000;#php-fpm的默認埠是9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

D. 如何正確配置Nginx+PHP

1、Nginx安裝
安裝編譯軟體庫
[root@leixuesong ~]# yum -y install gcc gcc-c++ autoconf automake openssl openssl-devel pcre-devel zlib-devel
下載nginx 1.6.2源碼
[root@leixuesong ~]# wget http://nginx.org/download/nginx-1.6.2.tar.gz
解壓nginx
[root@leixuesong ~]# tar zxvf nginx-1.6.2.tar.gz
進入解壓文件夾
[root@leixuesong ~]# cd nginx-1.6.2
編譯設置模塊
[root@leixuesong nginx-1.6.2]# ./configure –with-http_stub_status_mocule –prefix=/opt/nginx
安裝
[root@leixuesong nginx-1.6.2]# make && make install
nginx編譯安裝性能優化
1、在nginx 源碼文件找到auto/cc/gcc文件找到如下幾行
#debug
[root@leixuesong ~]# CFLASS=」$CFLAGS -g」
2、特定CPU優化CPU類型編譯
–with-cc-opt=」-O3″
–with-cpu-opt=CPU類型
查看CPU類型
[root@leixuesong ~]# cat /proc/cpuinfo | grep 「model name」
nginx重新啟動
[root@leixuesong ~]# /opt/nginx/sbin/nginx -s reload
nginx啟動
[root@leixuesong ~]# /opt/nginx/sbin/nginx
nginx檢測配置
[root@leixuesong ~]# /opt/nginx/sbin/nginx -t
2、PHP的安裝和配置
安裝php依賴軟體庫
[root@leixuesong ~]# yum install -y gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel mysql mysql-devel
下載php5.6源碼包
[root@leixuesong ~]# wget http://am1.php.net/distributions/php-5.6.3.tar.gz
解壓
[root@leixuesong ~]# tar -zxvf php-5.6.3.tar.gz
[root@leixuesong ~]# cd php-5.6.3
編譯設置模塊
[root@leixuesong php-5.6.3]# ./configure –prefix=/usr/local/php –with-mysql=mysqlnd–with-mysqli=mysqlnd –enable-fpm –with-pear –with-curl –with-gd –with-jpeg-dir –with-png-dir –with-freetype-dir –with-iconv –with-mhash –with-zlib –enable-mbstring –disable-debug
make && make install
復制php配置文件
[root@leixuesong php-5.6.3]# cp php.ini-proction /opt/php/lib/php.ini
啟動php-fpm
[root@leixuesong php-5.6.3]# /opt/php/sbin/php-fpm
檢測配置是否正確
[root@leixuesong php-5.6.3]# /opt/php/sbin/php-fpm -t
在centos上成功編譯安裝nginx 1.6、php 5.6並成功啟動nginx和php-fpm後,訪問php提示」File not found.」,同時在錯誤日誌中看到:
2013/10/22 20:05:49 [error] 12691#0: *6 FastCGI sent in stderr: 「Primary script unknown」 while reading response header from upstream, client: 192.168.168.1, server: localhost, request: 「GET / HTTP/1.1″, upstream: 「fastcgi://127.0.0.1:9000″, host: 「192.168.168.133」:
在Nginx配置文件中找到定義調用腳本文件的地方,如:
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
修改成如下方式($document_root):
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
nginx gzip設置
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css applocation/xml;
gzip_vary on;
來源:CentOS編譯安裝Nginx1.6、PHP5.6 - http://www.leixuesong.cn/84

E. windows7配置Nginx+php+mysql的詳細操作是怎樣

在Windows下配置搭建PHP環境的步驟:
一、准備工作-下載所需軟體
Apache httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
PHP php-5.3.10-Win32-VC9-x86.zip
MySQL mysql-5.5.20-win32.msi

二、安裝軟體
1、安裝Apache: 雙擊安裝,與安裝其他Windows軟體沒有什麼區別,在填Server Infomation時,並沒有特殊規定,只要輸入的信息符合格式即可。

安裝完成之後,在瀏覽器輸入http://localhost,如果顯示It Works!,表示Apache安裝成功。

2、安裝PHP:將php-5.3.10-Win32-VC9-x86.zip解壓到一個目錄即可。
3、安裝MySQL:雙擊答桐安裝,如果需要更改安裝目錄,則在Choose Setup Type選擇Custom

安裝完成後開肆舉迅始配置MySQL,全部保持默認選項即可,但最好把MySQL默認編碼改為utf8,在Modify Security Settings選項中設置密碼,輸入兩次密碼即可完成,最後點Execute完成配置。

三、整合Apache+PHP+MySQL
Apache : 首先修改Apache的配置文件,讓Apache支持解析裂此PHP文件。Apache配置文件在Apache安裝目錄的conf目錄下的httpd.conf。

1. 讓Apache可以解析php文件,在配置文件中找到
#LoadMole vhost_alias_mole moles/mod_vhost_alias.so
在下一行添加 (綠色的位置是根據PHP的所在目錄而定的)
LoadMole php5_mole "D:/Develop/PHP/php5apache2_2.dll"PHPIniDir "D:/Develop/PHP"AddType application/x-httpd-php .php .html .htm

2. 在配置文件中找到
DirectoryIndex index.html
改為
DirectoryIndex index.php index.html

3. 修改Apache站點目錄,在配置文件中找到(Apache安裝的目錄不同,顯示的值不一樣)
DocumentRoot "D:/Develop/Apache2.2/htdocs"
改為
DocumentRoot "D:/Workspace/PHP"

再找到
<Directory "D:/Develop/Apache2.2/htdocs">
改為
<Directory "D:/Workspace/PHP">

PHP : 把php.ini-development改名為php.ini,作為PHP的配置文件。修改php.ini

1. 設置PHP擴展包的具體目錄,找到
; On windows:; extension_dir = "ext"
改為 (值是ext文件夾的目錄)
; On windows: extension_dir = "D:/Develop/PHP/ext"

2. 開啟相應的庫功能,找到需要開啟的庫的所在行
;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mysql.dll
;extension=php_xmlrpc.dll
去掉前面的分號(注釋),即改為
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_xmlrpc.dll

3. 設置時區,找到
;date.timezone =
改為
date.timezone = Asia/Shanghai

配置完成,檢測一下配置是否成功。重啟Apache,在站點目錄下新建文件index.php,輸入內容。

F. 怎麼用nginx在windows上搭建web伺服器

怎麼用nginx在windows上搭建web伺服器解決方法

所需工具:

一台聯網的電腦

phpStudy 2014版

windows 2003 server sp2伺服器一台

1.phpstudy安裝在第四步時選擇Nginx&php

G. 如何正確配置Nginx + PHP

先上配置的過程,下面是解釋。

熱點內容
安卓哪個國家免費用 發布:2025-02-04 22:39:54 瀏覽:60
電腦配置低但想玩小偷模擬器怎麼辦 發布:2025-02-04 22:39:03 瀏覽:234
最快腳本語言 發布:2025-02-04 22:27:23 瀏覽:527
安卓的人臉識別在哪裡 發布:2025-02-04 22:16:45 瀏覽:674
悠然伺服器的ip是什麼 發布:2025-02-04 22:10:17 瀏覽:65
3des源碼 發布:2025-02-04 22:09:16 瀏覽:809
如何備份資料庫表 發布:2025-02-04 22:09:07 瀏覽:294
如何刪除下載的鬧鍾鈴聲安卓 發布:2025-02-04 22:03:35 瀏覽:660
死神腳本 發布:2025-02-04 21:57:03 瀏覽:169
phpposthtml 發布:2025-02-04 21:37:46 瀏覽:89