CentOS 6.2 yum安装配置lnmp服务器(Nginx+PHP+MySQL)
准备篇:
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端口这条规则的下面
添加好之后防火墙规则如下所示:
#########################################################
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
#########################################################
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容?版权所有,转载请注明出处及原文链接
/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
wget http://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!
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容?版权所有,转载请注明出处及原文链接
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模式
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt libmcrypt-devel php-fpm #according Y の入力を求めるプロンプトが表示され、Enter キーを押します
/etc/init.d/mysqld restart #Restart MySql
/etc/init.d/nginx restart #Restart nginx
/etc/rc.d/init.d/php-fpm start #php -fpm を開始します
chkconfig php-fpm で #スタートアップをセットアップします
################################## ## ###################################
設定記事
1. nginx を設定するphp
nginxユーザー:#save andexit
cp/etc/nginx/default.conf/etc/nginx/default.confbak #back nginx/conf .d/default.conf #Edit
indexindex.phpindex.htmlindex.htm;#Addindex.php
システムの運用と保守 www.osyunwei.com 警告: qihang01 のオリジナルコンテンツはすべて著作権で保護されています。再印刷するときはソースを示します
# 127.0.0.1:9000 でリッスンする FastCGI サーバーに PHP スクリプトを渡します
#
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index php。 ;
fastcgi_param SCRIPT_FILENAME $document_root $fastcgi_script_name;
include fastcgi_params;
}
#FastCGI サーバー パーツの場所のコメントを解除し、fastcgi_param 行のパラメータに注意して、$document_root$fastcgi_script_name に変更するか、絶対パスを使用します
2. /etc/php.ini で php
を設定します #Edit
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_restore、dl、openlog、syslog、readlink、symlink、popepassthru、stream_socket_server、escapeshellcmd、dll、popen、disk_free_space、checkdnsrr、checkdnsrr、getservbyname、getservbyport、disk_total_space、posix_cterm ID ,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_getsid、posix_getu、 id、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
Exposure_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! #保存して終了します
3. php-fpm を設定します
システムの運用とメンテナンス www.osyunwei.com : qihang01 のオリジナルコンテンツ? 無断転載を禁じます。転載する場合はソースと元のリンクを示してください。 cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.confbak #元の設定をバックアップします。 file
vi /etc/php-fpm.d/www.conf #Edit
user = nginx #ユーザーを nginx に変更します
# d/php-fpm restart #Restart php-fpm
######## ############################ ###################### ###############
テスト記事
cd /usr/share/nginx /html/ #nginx のデフォルト Web サイトのルート ディレクトリを入力します
viindex.php #新しいindex.phpファイルを作成します
phpinfo();
/nginx/html/ -R #ディレクトリの所有者を設定します
chmod
700 /usr/share/nginx/html/ -R #ディレクトリのアクセス許可を設定します
クライアントのブラウザで関連する設定情報を確認してください。
############################################## #########################
上記では、MySQL、FastCGI モード、chmod のインストールを含む nginx php の構成を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。