安装nginx
yum的库里没有nginx,所以需要添加nginx的源
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum install -y nginx
安装完成后启动nginx,并测试,显示welcome to nginx 说明安装完成
service nginx start
curl localhost
安装mysql和php及一些扩展包
yum install -y mysql mysql-server php php-fpm php-mysql
完成后先启动mysql,安装一些mysql的基本库,如果看到ok,就说明ok了
service mysqld start
迁移mysql的数据库
service mysqld stop #停止mysql服务
cp -ar /var/lib/mysql/ /opt/ #复制mysql库目录到opt下面
rm -rf /var/lib/mysql/* #删除目录下面原来的库文件
cp /user/share/mysql/my-large.cnf /etc/my.cnf #复制一份配置
vi /etc/my.cnf #编辑配置文件
datadir = /opt/mysql #修改datadir位置
ln -s /opt/mysql/mysql.sock /var/lib/mysql/mysql.sock #做一个软链,可以避免很多的问题
service mysqld start #启动mysql,库目录迁移完成
chkconfig mysqld on #设置开机自动启动
配置php-fpm
vi /etc/php-fpm.d/www.conf
listen = /var/run/php-fcgi.sock #修改php-fpm的的监听地址
listen.owner = nginx
listen.group = nginx #修改监听地址的所属主和所属组
listen.mode = 0666 #默认,取消注释即可
vi /etc/php.ini #编辑php配置文件
date.timezone = PRC #设置时区
service php-fpm start #保存配置,启动服务
chkconfig php-fpm on #设置开启启动
配置nginx
vi /etc/nginx/conf.d/default.conf
#参考配置
server {
listen 80;
server_name localhost;
charset utf-8;
root /opt/www;
index index.php index index.html index.htm;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fcgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
nginx -t #测试配置文件是否正确
service nginx restart #重启nginx
chkconfig nginx on #设置开机启动
测试nginx+php+mysql是否正常
在/opt/www目录下面创建一个index.php文件,写入如下内容
<?php
mysql_connect("localhost","root","");
mysql_select_db("mysql");
$sql = "select * from user";
$result = mysql_query($sql);
while($row=mysql_fetch_assoc($result)){
print_r($row);
}
访问localhost,如果能正常读出mysql的用户数组,就说明配置正确了。
各种错误
打开php的错误显示
vi /etc/php.ini
display_errors = On #默认为off
错误:php-fpm连接mysql出现can’t xxx socket “/var/lib/mysql/mysql.sock”,但是你的软链接已经加了
解决:修改php.ini中的mysql.default-sock=”/opt/mysql/mysql.sock”
备注:这个错误出现的场景,可能是使用了原始的my.cnf,具体什么原因,没有再深入去研究。
错误:nginx启动时出现can’t xxxxx /var/run/nginx.pid错误
解决:重启系统,我是成功了
备注:这个错误出现的场景,可能是安装完nginx后没有启动,先修改了配置再启动,所以大家在安装完nginx后一定要先启动一下。
关于上面的错误,如果有朋友知道确切原因,希望可以留言分享一下。