當前位置:首頁 » 編程語言 » centosnginxphp配置

centosnginxphp配置

發布時間: 2022-05-28 03:18:12

Ⅰ 如何架設Nginx+php Web伺服器

Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 伺服器,也是一個 IMAP/POP3/SMTP 代理伺服器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,它已經在該站點運行超過兩年半了。Igor 將源代碼以類BSD許可證的形式發布。盡管還是測試版,但是,Nginx 已經因為它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名了。
本文是W3CGROUP在成功架設Nginx+Php Web伺服器之後的一個總結,成功設置Nginx開啟多域名多站點,並且不會出現502 Bad Gateway錯誤!
本文測試環境如下:
系統環境
linux version 2.6.9(CentOS release 4.7(Final))
軟體環境
nginx-0.6.35.tar.gz
安裝步驟
一、 編譯安裝PHP5.2.9所需的支持庫
tar zxvf libiconv-1.13.tar.gzcd libiconv-1.13/./configure --prefix=/usr/localmakemake installcd ../
tar zxvf libmcrypt-2.5.8.tar.gzcd libmcrypt-2.5.8/./configuremakemake install/sbin/ldconfigcd libltdl/./configure --enable-ltdl-installmakemake installcd ../../
tar zxvf mhash-0.9.9.9.tar.gzcd mhash-0.9.9.9/./configuremakemake installcd ../
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.laln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.soln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.aln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.laln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.soln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
tar zxvf mcrypt-2.6.8.tar.gzcd mcrypt-2.6.8//sbin/ldconfig./configuremakemake installcd ../
二、編譯安裝Mysql 5.1.34擴展庫
/usr/sbin/groupadd mysql/usr/sbin/useradd -g mysql mysqltar zxvf mysql-5.1.34.tar.gzcd mysql-5.1.34/./configure --prefix=/usr/local/webserver/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobasemake && make installchmod +w /usr/local/webserver/mysqlchown -R mysql:mysql /usr/local/webserver/mysqlcd ../
MySql的安裝此處就省略
三、編譯安裝PHP(FastCGI模式)
tar zxvf php-5.2.9.tar.gzgzip -cd php-5.2.9-fpm-0.5.10.diff.gz | patch -d php-5.2.9 -p1cd php-5.2.9/./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-saslmake ZEND_EXTRA_LIBS='-liconv'make installcp php.ini-dist /usr/local/webserver/php/etc/php.inicd ../
四、修改php-fpm配置文件
rm -f /usr/local/webserver/php/etc/php-fpm.confvi /usr/local/webserver/php/etc/php-fpm.conf
輸入以下內容:
<?xml version="1.0" ?><configuration><section name="global_options"><value name="pid_file">/usr/local/webserver/php/logs/php-fpm.pid</value><value name="error_log">/usr/local/webserver/php/logs/php-fpm.log</value><value name="log_level">notice</value><value name="emergency_restart_threshold">10</value><value name="emergency_restart_interval">1m</value><value name="process_control_timeout">5s</value><value name="daemonize">yes</value></section><workers><section name="pool"><value name="name">default</value><value name="listen_address">127.0.0.1:9000</value><value name="listen_options"><value name="backlog">-1</value><value name="owner"></value><value name="group"></value><value name="mode">0666</value></value><value name="php_defines"><value name="sendmail_path">/usr/sbin/sendmail -t -i</value><value name="display_errors">1</value></value><value name="user">www</value><value name="group">www</value><value name="pm"><value name="style">static</value><value name="max_children">128</value><value name="apache_like"><value name="StartServers">20</value><value name="MinSpareServers">5</value><value name="MaxSpareServers">35</value></value></value><value name="request_terminate_timeout">0s</value><value name="request_slowlog_timeout">0s</value><value name="slowlog">logs/slow.log</value><value name="rlimit_files">51200</value><value name="rlimit_core">0</value><value name="chroot"></value><value name="chdir"></value><value name="catch_workers_output">yes</value><value name="max_requests">500</value><value name="allowed_clients">127.0.0.1</value><value name="environment"><value name="HOSTNAME">$HOSTNAME</value><value name="PATH">/usr/local/bin:/usr/bin:/bin</value><value name="TMP">/tmp</value><value name="TMPDIR">/tmp</value><value name="TEMP">/tmp</value><value name="OSTYPE">$OSTYPE</value><value name="MACHTYPE">$MACHTYPE</value><value name="MALLOC_CHECK_">2</value></value></section></workers></configuration>
五、創建www用戶組及www用戶
/usr/sbin/groupadd www/usr/sbin/useradd -g www www
六、編譯安裝Nginx
tar zxvf nginx-0.6.35.tar.gzcd nginx-0.6.35/默認安裝:./configuremake && make install默認情況下,Nginx 會被安裝在 /usr/local/nginx。通過設定編譯選項,你可以改變這個設定。
指定編譯選項安裝,如:./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_mole --with-http_ssl_molemake && make installcd ../
七、創建fcgi.conf文件
rm -f /usr/local/webserver/nginx/conf/fcgi.confvi /usr/local/webserver/nginx/conf/fcgi.conf

Ⅱ 如何在CentOS 6上通過YUM安裝Nginx和PHP

在CentOS 6上通過YUM安裝Nginx和PHP-FPM:
第一步,在/etc/yum.repos.d/目錄下創建一個源配置文件nginx.repo:
cd /etc/yum.repos.d/
vim nginx.repo

填寫如下內容:
[nginx]
name=nginx repo
baseurl=nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
保存,則會產生一個/etc/yum.repos.d/nginx.repo文件。

下面直接執行如下指令即可自動安裝好Nginx:
yum install nginx -y
安裝完成,下面直接就可以啟動Nginx了:
/etc/init.d/nginx start
現在Nginx已經啟動了,直接訪問伺服器就能看到Nginx歡迎頁面了的。

Ⅲ 為什麼centos7下nginx的php怎麼開啟報錯

首先要編輯php配置文件:

vi /etc/php.ini
error_reporting = E_ERROR
display_errors = On

因為我開啟了php-fpm。所以,還要編輯 php-fpm.conf文件,把php_flag[display_errors]設為on:

vi php-fpm.conf

php_flag[display_errors] = on

這樣在開發的時候就可以在瀏覽器中顯示php出現的錯誤了,非常方便。

Ⅳ centos7 怎麼讓nginx解析php

nginx是不能解析PHP的
需要使用php-fpm來解析PHP,nginx只是負責將用戶請求轉發給php進程,由PHP進程處理後將結果返回給nginx,最後nginx再講請求返回給用戶
nginx在這扮演一個網關伺服器的角色

Ⅳ CentOS 7.2如何搭建Nginx、PHP、tomcat開發環境我直接去相應的官網下載可執行的安裝文件不行嗎

你可以在nginx,tomcat apache 配製時先用不同的埠,如nginx:80,tomcat:8080,apache:8000,這樣就可以了,哪個在前端就把哪個設置成80就行了...還有不懂的可以來後盾人

Ⅵ 如何在CentOS 6上通過YUM安裝Nginx和PHP-FPM

准備篇:

1、配置防火牆,開啟80埠、3306埠
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允許80埠通過防火牆)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允許3306埠通過防火牆)
特別提示:很多網友把這兩條規則添加到防火牆配置的最後一行,導致防火牆啟動失敗,正確的應該是添加到默認的22埠這條規則的下面
添加好之後防火牆規則如下所示:
#########################################################

#-config-firewall
#.
*filter
:INPUTACCEPT[0:0]
:FORWARDACCEPT[0:0]
:OUTPUTACCEPT[0:0]
-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
-AINPUT-picmp-jACCEPT
-AINPUT-ilo-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT
-AINPUT-jREJECT--reject-withicmp-host-prohibited
-AFORWARD-jREJECT--reject-withicmp-host-prohibited
COMMIT


#########################################################
/etc/init.d/iptables restart #最後重啟防火牆使配置生效

2、關閉SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq 保存,關閉
shutdown -r now #重啟系統

3、配置CentOS 6.2 第三方yum源(CentOS默認的標准源里沒有nginx軟體包)
yum install wget #安裝下載工具wget

wgethttp://www.atomicorp.com/installers/atomic

#下載atomic yum源
sh ./atomic #安裝
yum check-update #更新yum軟體包
################################################################
安裝篇:

一、安裝nginx
yum install nginx #安裝nginx,根據提示,輸入Y安裝即可成功安裝
service nginx start #啟動
chkconfig nginx on #設為開機啟動
/etc/init.d/nginx restart #重啟
rm -rf /usr/share/nginx/html/* #刪除ngin默認測試頁

二、安裝MySQL
1、安裝mysql

yum install mysql mysql-server #詢問是否要安裝,輸入Y即可自動安裝,直到安裝完成
/etc/init.d/mysqld start #啟動MySQL
chkconfig mysqld on #設為開機啟動
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷貝配置文件(注意:如果/etc目錄下面默認有一個my.cnf,直接覆蓋即可)
shutdown -r now #重啟系統

2、為root賬戶設置密碼
mysql_secure_installation
回車,根據提示輸入Y
輸入2次密碼,回車
根據提示一路輸入Y
最後出現:Thanks for using MySQL!

MySql密碼設置完成,重新啟動 MySQL:
/etc/init.d/mysqld stop #停止
/etc/init.d/mysqld start #啟動
service mysqld restart #重啟

三、安裝PHP
1、安裝PHP
yum install php #根據提示輸入Y直到安裝完成
2、安裝PHP組件,使PHP支持 MySQL、PHP支持FastCGI模式

yuminstallphp-mysqlphp-gdlibjpeg*php-imapphp-ldapphp-odbcphp-pearphp-xmlphp-xmlrpcphp-mbstringphp-mcryptphp-bcmathphp-mhashlibmcryptlibmcrypt-develphp-fpm

#根據提示輸入Y回車
/etc/init.d/mysqld restart #重啟MySql
/etc/init.d/nginx restart #重啟nginx
/etc/rc.d/init.d/php-fpm start #啟動php-fpm
chkconfig php-fpm on #設置開機啟動
################################################################
配置篇

一、配置nginx支持php
cp /etc/nginx/nginx.conf /etc/nginx/nginx.confbak #備份原有配置文件
vi /etc/nginx/nginx.conf #編輯
user nginx nginx;#修改nginx運行賬號為:nginx組的nginx用戶
:wq! #保存退出

cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak #備份原有配置文件
vi /etc/nginx/conf.d/default.conf #編輯

index index.php index.html index.htm;#增加index.php

#.0.0.1:9000
#
location~.php${
roothtml;
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}


#取消FastCGI server部分location的注釋,並要注意fastcgi_param行的參數,改為$document_root$fastcgi_script_name,或者使用絕對路徑

二、配置php

vi /etc/php.ini #編輯

date.timezone = PRC #在946行 把前面的分號去掉,改為date.timezone = PRC

disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname


#在386行 列出PHP可以禁用的函數,如果某些程序需要用到這個函數,可以刪除,取消禁用。
expose_php = Off #在432行 禁止顯示php版本的信息
magic_quotes_gpc = On #在745行 打開magic_quotes_gpc來防止SQL注入
open_basedir = .:/tmp/ #在380行,設置表示允許訪問當前目錄(即PHP腳本文件所在之目錄)和/tmp/目錄,可以防止php木馬跨站,如果改了之後安裝程序有問題,可注銷此行,或者直接寫上程序目錄路徑/var/www/html/www.osyunwei.com/:/tmp/
:wq! #保存退出

三、配置php-fpm

cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.confbak #備份原有配置文件
vi /etc/php-fpm.d/www.conf #編輯
user = nginx #修改用戶為nginx
group = nginx #修改組為nginx

/etc/init.d/mysqld restart #重啟MySql
/etc/init.d/nginx restart #重啟nginx
/etc/rc.d/init.d/php-fpm restart #重啟php-fpm
################################################################
測試篇
cd /usr/share/nginx/html/ #進入nginx默認網站根目錄
vi index.php #新建index.php文件

<?php
phpinfo();
?>


:wq! #保存

chown nginx.nginx /usr/share/nginx/html/ -R #設置目錄所有者

chmod 700 /usr/share/nginx/html/ -R #設置目錄許可權

在客戶端瀏覽器輸入伺服器IP地址,可以看到相關的配置信息!
################################################################

備注

nginx默認站點目錄是:/usr/share/nginx/html/

許可權設置:chown nginx.nginx /usr/share/nginx/html/ -R

MySQL資料庫目錄是:/var/lib/mysql

許可權設置:chown mysql.mysql -R /var/lib/mysql


參考文檔:http://www.osyunwei.com/archives/2353.html

Ⅶ centos6.5下配置nginx,nginx頁面能出現,php測試頁面顯示空白!!!!!!

1、php5.3以後版本可以配置php-fpm.conf
listen
=
127.0.0.1:9002
2、啟動php-fpm伺服器
/etc/init.d/php-fpm
start
3、netstat
-ntlp檢查9001埠是否啟動
4、配置nginx
server
{
listen
80;
access_log
/data/logs/nginx/access.log;
root
/data/www
;
index
index.php
index.html
index.htm;
location
/
{
expires
1d;
}
location
~
\.php$
{
fastcgi_pass
127.0.0.1:9002;
fastcgi_index
index.php;
include
fastcgi.conf;
}
}

Ⅷ centos下nginx+php,幾萬並發,需要微調哪些參數實現高並發

在不考慮硬體,系統優化,WEB架構和程序優化,緩存,DB優化等,只考慮nginx,幾個關鍵參數如下:
worker_processes 8;
worker_rlimit_nofile 60000;
events {
use epoll;
worker_connections 51200;
}
其實是很限的,對吧,不過nginx本身就是一個高並發web器,這些參數是根據實際情況調的。

Ⅸ nginx配置支持php

nginx本身不支持php解析,需要配合php-fpm來配置。

location~.php${
root/var/www;#指定php的根目錄
fastcgi_pass127.0.0.1:9000;#php-fpm的默認埠是9000
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}

centos下安裝php-fpm (php及其它組件已經安裝過的情況)

yuminstallphp-fpm

啟動php-fpm 並設置開機啟動 (centos 7)

systemctlstartphp-fpm
systemctlenablephp-fpm

Ⅹ 請教一個問題 伺服器 用的是 centos nginx php 總是報 502 Bad Gateway這個錯誤 如何解決

重啟下php-fpm試試,或者修改fpm配置文件

/etc/php5/fpm/pool.d/www.conf

listen=/var/run/php5-fpm.sock

改為

listen=127.0.0.1:9000

試試。

熱點內容
cs文件編譯python 發布:2025-02-12 14:02:39 瀏覽:531
如何伺服器搬家 發布:2025-02-12 13:58:41 瀏覽:28
轎車什麼配置從哪裡看 發布:2025-02-12 13:48:51 瀏覽:453
編程vlb 發布:2025-02-12 13:33:17 瀏覽:784
電腦出現無法解析伺服器的dns對策 發布:2025-02-12 13:29:12 瀏覽:159
硬碟的存儲空間是以簇為單位 發布:2025-02-12 13:26:06 瀏覽:357
我的帳號密碼是什麼 發布:2025-02-12 13:24:37 瀏覽:281
網頁版傳奇源碼下載 發布:2025-02-12 13:23:48 瀏覽:829
模型預估演算法 發布:2025-02-12 13:09:46 瀏覽:709
武漢存儲 發布:2025-02-12 13:09:43 瀏覽:205