> 백엔드 개발 > PHP 튜토리얼 > Fedora 17 配置 Nginx + Mysql + php

Fedora 17 配置 Nginx + Mysql + php

WBOY
풀어 주다: 2016-06-23 14:29:04
원래의
805명이 탐색했습니다.

1. 安装Mysql5

yum install mysql mysql-serverchkconfig --levels 235 mysqld on
로그인 후 복사

启动

/etc/init.d/mysqld start
로그인 후 복사

查询是否启动

netstat -tap | grep mysql
로그인 후 복사

无法启动mysql时

vi /etc/my.cnf
로그인 후 복사

#skip networking

重启mysql

/etc/init.d/mysqld restart
로그인 후 복사

设置mysql密码:

方法一:

mysqladmin -uroot password
로그인 후 복사

方法二(设置根用户密码)(推荐):

mysql_secure_installation
로그인 후 복사

系统自动启动mysql

方法一(推荐,fedora新到管理服务的命令):

systemctl enable mysqld.servicesystemctl start mysqld.service
로그인 후 복사

方法二:

chkconfig --levels 235 mysqld on
로그인 후 복사

2. 安装Nginx

yum install nginx
로그인 후 복사

设置开机启动

方法一:

chkconfig --levels 235 nginx on/etc/init.d/nginx start
로그인 후 복사

方法二:

systemctl enable nginx.servicesystemctl start nginx.service
로그인 후 복사

3. 安装 PHP

方法一:fastcgi模式

yum install lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mapserver php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy
로그인 후 복사

方法二: php-fpm模式(推荐)

yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy
로그인 후 복사

配置php

vi /etc/php.ini
로그인 후 복사

cgi.fix_pathinfo = 0 (推荐设置为0,默认为1,为1时会有安全漏洞)

查看本机时区

cat /etc/sysconfig/clock
로그인 후 복사

修改配置

date.timezone="Asia/Shanghai"

启动php
一:以spawn-fcgi模式的启动
spawn-fcgi --help

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u nginx -g nginx -f /usr/bin/php-cgi -P /var/run/fastcgi-php.pid
로그인 후 복사
로그인 후 복사

设置开机启动:

vi /etc/rc.local 加入

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u nginx -g nginx -f /usr/bin/php-cgi -P /var/run/fastcgi-php.pid
로그인 후 복사
로그인 후 복사

二:以php-fpm模式的启动

systemctl enable php-fpm.servicesystemctl start php-fpm.service
로그인 후 복사

注意这个地方会遇到这个错误 :

systemctl start php-fpm.serviceJob failed. See system journal and 'systemctl status' for details.
로그인 후 복사

搜索了好久,都没有搜到,一开始以为没有把php-rpm.conf.default改为php-rpm.conf, 后来发现其实这个文件已经存在了。

后来通过systemctl status php-fpm.service在日志中终于找到了原因:
原来是没有配置好php-rpm.conf 及它包含到文件/etc/php-fpm.d/www.conf
在此文件中
默认的 user = apache
默认到 group = apache
因为是安装nginx,所以全部改为nginx后,终于可以启动php-fpm了。

4. 配置nginx

vi /etc/nginx/nginx.conf
로그인 후 복사

worker_processes  5;keepalive_timeout  2;server {        listen       80;        server_name  localhost; # 这里一定要设置,否则不能支持php         #charset koi8-r;         #access_log  logs/host.access.log  main;         location / {            root   /usr/share/nginx/html;            index  index.php index.html index.htm;        }         error_page  404              /404.html;        location = /404.html {            root   /usr/share/nginx/html;        }         # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   /usr/share/nginx/html;        }         # proxy the PHP scripts to Apache listening on 127.0.0.1:80        #        #location ~ \.php$ {        #    proxy_pass   http://127.0.0.1;        #}         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000        #        location ~ \.php$ {            root           html;            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;            include        fastcgi_params;        }         # deny access to .htaccess files, if Apache's document root        # concurs with nginx's one        #        location ~ /\.ht {            deny  all;        }    }
로그인 후 복사

重启nginx

systemctl reload nginx.service
로그인 후 복사

5. 写一个php测试文件

<?phpphpinfo();?>
로그인 후 복사

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿