Linode VPS安装设置全过程-Nginx+MySQL+PHP+PHP-FPM

1. 安装CentOS最小系统,安装完成后
#yum update
升级到最新版,注意Linode的VPS是Xen的,Centos是他们自己编译的,所以用
#uname -a
并没有CentOS字样,这并不影响系统,如果有些应用程序需要原生的CentOS,可以安装个自定义系统模板。

2.# rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
安装RPEL源
#  rpm -ihv http://centos.alt.ru/repository/centos/5/i386/centalt-release-5-3.noarch.rpm
安装CentALT软件包源

以上这两个源,可以实现所要安装的软件全部通过yum来安装

3.安装nginx,mysql,php-fpm,php
# yum -y install nginx mysql mysql-server php-fpm php-cli php-pdo php-mysql php-mcrypt php-mbstring php-gd php-tidy php-xml php-xmlrpc php-pear php-pecl-memcache php-eaccelerator

4.设置mysql
默认装好后,都有mysql,nginx用户
设置my.cnf文件
#cd /usr/share/mysql
# cp my-medium.cnf /etc/my.cnf

安装数据库文件
# /usr/bin/mysql_install_db –user=mysql
运行后,数据库文件被装在/var/lib/mysql目录中

设置root的mysql密码
/usr/bin/mysqladmin -u root password ‘yourpassword’

移除测试数据库,禁止远程root访问等安装操作
/usr/bin/mysql_secure_installation

设置mysql自启动,然后重启
#chkconfig –level 235 mysql on
#reboot

#mysql -uroot -p

mysql>status
mysql>show variables like ‘character%’;
mysql>show variables like ‘collation%’;

utf8字符集设置

#vi /etc/my.cnf
找到客户端配置[client] 在下面添加
default-character-set=utf8 默认字符集为utf8
在找到[mysqld] 添加
default-character-set=utf8 默认字符集为utf8
init_connect=’SET NAMES utf8′ (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

5.安装phpmyadmin
#yum phpmyadmin
首先要建立能远程访问mysql的用户
添加 remote_user 远程访问帐户:
登陆到MySQL Server上去:
# mysql -uroot -pyourpassword     //用root登陆,密码yourpassword  , 也 可以交互: mysql -uroot -p ,系统提示输入密码:123456
mysql> use mysql;
mysql> GRANT ALL ON *.* TO remote_user@’localhost’ IDENTIFIED BY ‘yourpassword’ WITH GRANT OPTION;   //可以从任何IP访问
mysql> GRANT ALL ON *.* TO remote_buser@’%’ IDENTIFIED BY ‘yourpassword’ WITH GRANT OPTION;   //可以从localhost访问

6, 配置nginx,设置域名可能要先指向它
配置/etc/nginx/conf.d/virtual.conf
*********************************************************

server {
listen   80;
server_name howfortune.com www.howfortune.com;
access_log /var/www/html/howfortune/log/access.log;
error_log /var/www/html/howfortune/log/error.log;
location / {
root   /var/www/html/howfortune/;
index  index.html index.php;
}
location ~ \.php$ {
#    root           html;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
include        fastcgi_params;
}
}

其中 fastcgi_param这项改为php网站所在的目录,注意www后面没有斜杠,否则php访问mysql数据库将出现问题而导致有数据库的网站无法访问

7. php-fpm的配置文件:
*******************************************************************************
编辑php-pfm.conf文件,让php-cgi以nginx用户启动(与 nginx一样):

[root@bsd01 etc]#chmod u+w php-fpm.conf
[root@bsd01 etc]#vi php-fpm.conf

Unix user of processes
<value name=”user”>nginx</value>

Unix group of processes
<value name=”group”>nginx</value>

然后就可以启动php-fpm和nginxl了:

#chkconfig –level 235 php-fpm on
#chkconfig –level 235 nginx on
#reboot

测试一下服务器,可以访问就大功告成了。