在OpenSUSE上面安装nginx+php+mysql


类型:LinuxApp,创建时间:June 19, 2014, 5:47 p.m.

标题无“转载”即原创文章,版权所有。转载请注明来源:http://hgoldfish.com/blogs/article/92/。

今天在我的opensuse 13.1虚拟机上面安装nginx+php+mysql整了好久。碰到几个问题,纪录一下。

首先是安装必要的软件,比较简单了。

zypper install nginx php5 php5-fpm php5-mysql mysql-community-server

不过安装完还跑不起来。需要进行一系列的配置。

最最首先的是先把opensuse的防火墙关掉,或者开个端口。这件事情我一般在安装opensuse的时候已经搞定。不然就使用yast配置一下。

opensuse的nginx默认使用/srv/www/htdocs这个目录。试着在这个目录里面放一个hello.php,文件内容是

<?php phpinfo(); ?>

这个文件会输出PHP运行环境的信息。现在在浏览器里面输入网址http://192.168.13.140/hello.php看看,直接把这个文件的内容输出来了。说明这时候PHP还没有起作用。所以还需要配置一个nginx,在/etc/nginx/nginx.conf里面写个配置:

location ~ \.php$ {
    root           /srv/www/htdocs/;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

这个配置最重要的部分是fastcgi_param SCRIPT_FILENAME,因为这个参数决定了真正执行的php文件的路径。如果直接使用nginx的默认配置会有问题。打包者坑爹了。

那接下来就是配置php的fastcgi服务了。默认配置一样有问题,跑不起来,缺少配置文件。先复制一个配置文件过来:

cd /etc/php5/fpm
cp php-fpm.conf.default php-fpm.conf

然后修改/etc/php5/fpm/php-fpm.conf这个配置文件,把里面一行:

error_log = log/php-fpm.log

修改成为

error_log = /var/log/php-fpm.log

不然php-fpm服务就跑不起来了,会报日志文件错误。因为默认配置里面的/usr/var/log/这个目录是不存在的。一般也不会使用/usr/var这个目录。

这两个东西配置好之后启动三个服务

systemctl enable mysql nginx php-fpm systemctl start mysql nginx php-fpm

现在再次在浏览器里面输入http://192.168.13.140/hello.php,可以看到PHP的输出结果了。

标题无“转载”即原创文章,版权所有。转载请注明来源:http://hgoldfish.com/blogs/article/92/。


暂时还没有任何评论。


何不来发表一下您对本文的看法(使用Markdown语法,分段空两行):