欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

Linux/Unix下nginx+php安装简明教程

程序员文章站 2022-05-22 12:19:08
...

一、安装nginx: 1. 安装pcre库,nginx的rewrite模板需用到pcre库: 1. mkdir -p /works 2. cd /works 3. wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.20.tar.gz 4. tar -zxvf pcre-8.20.tar.gz 5. ./configure 6. make make install 7

一、安装nginx:

1. 安装pcre库,nginx的rewrite模板需用到pcre库:

1. mkdir -p /works

2. cd /works

3. wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.20.tar.gz

4. tar -zxvf pcre-8.20.tar.gz

5. ./configure

6. make && make install

7. cd ..

2. 安装nginx: www.2cto.com

1. wget http://nginx.org/download/nginx-1.0.10.tar.gz

2. tar -zxvf nginx-1.0.10.tar.gz

3. cd nginx-1.0.10

4. ./configure

5. make && make install

6. cd ..

3. 新建用户和组:

1. groupadd www

2. useradd -r -g www www

二、安装PHP5

1. 安装依赖包:

1. libcurl:

2. wget http://curl.haxx.se/download/curl-7.23.1.tar.gz

3. tar -zxvf curl-7.23.1.tar.gz

4. cd curl-7.23.1/

5. ./configure

6. make && make install

7. cd ..

libxml2:

1. wget ftp://xmlsoft.org/libxml2/libxml2-2.7.6.tar.gz

2. tar -zxvf libxml2-2.7.6.tar.gz

3. cd libxml2-2.7.6

4. ./configure

5. make && make install

6. cd ..

libxslt:

1. wget ftp://xmlsoft.org/libxml2/libxslt-1.1.24.tar.gz

2. tar -zxvf libxslt-1.1.24.tar.gz

3. cd libxslt-1.1.24

4. ./configure make && make install

5. cd ..

freetype:

1. wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.6.tar.gz

2. tar -zxvf freetype-2.4.6.tar.gz

3. cd freetype-2.4.6 ./configure

4. make && make install

5. cd ..

libpng:

1. wget "http://prdownloads.sourceforge.net/libpng/libpng-1.5.6.tar.gz?download"

2. tar -zxvf libpng-1.5.6.tar.gz

3. cd libpng-1.5.6 ./configure

4. make && make install

5. cd ..

libjpeg:

1. wget http://ijg.org/files/jpegsrc.v8c.tar.gz

2. tar -zxvf jpegsrc.v8c.tar.gz

3. cd jpeg-8c/

4. ./configure

5. make && make install

6. cd ..

2. 安装php5和php-fpm:

1. wget http://museum.php.net/php5/php-5.2.16.tar.gz

2. wget http://php-fpm.org/downloads/php-5.2.16-fpm-0.5.14.diff.gz

3. tar -zxvf php-5.2.16.tar.gz

4. gunzip php-5.2.16-fpm-0.5.14.diff.gz

5. cd php-5.2.16/

6. patch -p1

7.

8. ./configure \

9. --with-curl \

10. --enable-calendar \

11. --with-xsl \

12. --with-libxml-dir \

13. --enable-ftp \

14. --with-gd \

15. --with-freetype-dir \

16. --with-jpeg-dir \

17. --with-png-dir \

18. --enable-mbstring \

19. --with-zlib \

20. --enable-shared \

21. --with-mysql \

22. --enable-fastcgi \

23. --enable-fpm

24. ./configure && make && make install

修改php-fpm的配置文件/usr/local/etc/php-fpm.conf,设置执行php-fpm的用户和组名:

大约在第62行:

1. Unix user of processes

2.

3. Unix group of processes

4.

修改为:

1. Unix user of processes

2. www

3. Unix group of processes

4. www

启动php-fpm:

1. /usr/local/sbin/php-fpm start

2. lsof -i:9000

3. netstat -ant|grep 9000

4. #9000为php-fpm的默认端口,可以在/usr/local/etc/php-fpm.conf中修改。

修改nginx配置文件/usr/local/nginx/conf/nginx.conf,我的nginx配置文件如下:

1. worker_processes 10;

2. events {

3. worker_connections 1024;

4. }

5. http {

6. include mime.types;

7. default_type application/octet-stream;

8. sendfile on;

9. keepalive_timeout 65;

10. gzip on;

11. server {

12. listen 80;

13. server_name ead;

14. root /data/faceshow/www;

15. location / {

16. root html;

17. index index.php index.html index.htm;

18. }

19. error_page 500 502 503 504 /50x.html;

20. location = /50x.html {

21. root html;

22. }

23.

24. #此段代码为关键

25. location ~ \.php$ {

26. fastcgi_pass 127.0.0.1:9000; #对应php-fmp的端口

27. fastcgi_index index.php;

28. fastcgi_param SCRIPT_FILENAME /data/faceshow/www/$fastcgi_script_name;

29. #php文件的物理路径

30. include fastcgi_params;

31. }

32.

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

34. {

35. expires 30d;

36. }

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

38. {

39. expires 1h;

40. }

41. }

42. }

43.

启动nginx:

1. /usr/local/nginx/bin/nginx

2. /usr/local/nginx/bin/nginx -s reload

三、常见问题:

问题:nginx ./configure时报如下错误

1. ./configure: error: the HTTP rewrite module requires the PCRE library.

2. You can either disable the module by using --without-http_rewrite_module

3. option, or install the PCRE library into the system, or build the PCRE library

4. statically from the source with nginx by using --with-pcre= option.

解决:这是由于未PCRE库,请安装PCRE库在运行./configure。也可以使用带--without-http_rewrite_module参数进行./configure,但是这将导致nginx不支持rewrite功能!

四、相关文件下载地址:

libcurl: http://curl.haxx.se/download.html

libxml2:ftp://xmlsoft.org/libxml2/

libxslt:ftp://xmlsoft.org/libxml2/

libpng:http://www.libpng.org/pub/png/libpng.html

libjpeg: http://ijg.org/files/

freetype:http://download.savannah.gnu.org/releases/freetype/

pcre:http://www.pcre.org/

nginx:http://nginx.org/en/download.html

php-fpm:http://php-fpm.org/

php5:http://www.php.net/releases/

MySQL:http://www.mysql.com/downloads/mirror.php?id=404683#mirrors

摘自 爱E族