Fedora 15 安装 nginx (PHP-FPM)+Mysql+PHP web服务

Nginx是一个免费、开源、高性能的HTTP服务器。 nginx以稳定性,丰富的功能模块,简单的配置,资源低消耗。本教程演示如何在Fedora 15 上安装 PHP5(通过PHP- FPM模块)+MySQL的ngixn服务器。

我不敢保证你的机器一定会工作!

1、初步说明:

在本教程中,默认使用IP地址:192.168.0.100,主机名server1.example.com。这些设置可能会与你的服务器有所不同,所以你必须按照你的计算机实际IP和主机名进行更改。

2、首先安装mysql,终端输入以下命令。

yum install mysql mysql-server

然后配置MYSQL随计算机启动而自动启动:

chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start

现在,检查网络启用。运行命令:

netstat -tap | grep mysql

显示如下信息,表示网络运行成功:

[root@server1 ~]# netstat -tap | grep mysql
tcp        0      0 *:mysql                     *:*                         LISTEN      1517/mysqld
[root@server1 ~]#

如果不是反馈的如上信息,你需要编辑/etc/my.cnf文件:
vi /etc/my.cnf
注释掉下面的信息:

#skip-networking

然后重启Mysql:
/etc/init.d/mysqld restart
mysql_secure_installation

设置root密码:

[root@server1 ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current
password for the root user.  If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): <– 回车
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] <– 回车
New password: <– 设置你的root密码
Re-enter new password: <– 再输入一次你的密码
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] <– 回车
… Success!

Normally, root should only be allowed to connect from ‘localhost’.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] <– 回车
… Success!

By default, MySQL comes with a database named ‘test’ that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] <–回车
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] <– 回车
… Success!

Cleaning up…

All done!  If you’ve completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

[root@server1 ~]#

3、安装Nginx
yum install nginx
创建随系统自启动:
chkconfig --levels 235 nginx on
/etc/init.d/nginx start

然后查看Nginx是否工作,浏览器输入IP,如图:

Nginxwebsite

Nginxwebsite

4、安装PHP:
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-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy
然后配置PHP:
vi /etc/php.ini
参照如下配置:

; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
cgi.fix_pathinfo=0

你也可以参照Nginx官方wiki配置说明:http://wiki.nginx.org/Pitfalls
下一步创建PHP-FPM系统启动链接并启动它:
chkconfig --levels 235 php-fpm on
/etc/init.d/php-fpm start

5、配置nginx
vi /etc/nginx/nginx.conf
(你也可以到以下两个网址学习参考,是英文,很简单如果你英文够好)
也可以参照如下配置,找到相应的行进行设置:
[…]
worker_processes 5;
[…]
keepalive_timeout 2;
[…]

配置默认web虚拟主机:
vi /etc/nginx/conf.d/default.conf
参照以下配置:

server {
listen 80;
server_name _;

#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 /usr/share/nginx/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:
/etc/init.d/nginx restart
建立phpinfo.php查看模块时候正常运行:
vi /usr/share/nginx/html/info.php
输入:

<?php

phpinfo();

?>

然后浏览器访问查看信息:http://192.168.0.100/info.php

phpinfo

phpinfo

phpinfo2

phpinfo2

查看原文

投稿作者 作者网站

评论

 
 

发表评论

 
你的昵称*
电子邮件*
网址(选填)
我的评论*
  • 发表评论
  • 为您推荐


    请支持IMCN发展!

    谁在捐赠

    微信捐赠 支付宝捐赠
    微信捐赠 支付宝捐赠
    ta的个人站点

    发表文章4156篇

    关注我的头条 不要放弃,百折不挠,坚强、自信。





    微信公众号二维码

    归档