最近买了个VPS嘛,所以动手研究下环境搭建,不用一键包,卸载掉默认安装的Apache,纯手动来一次也挺有意思的,下面整理出过程供新手学习。

0. 卸载httpd和mail相关的程序并更新系统所有程序

yum -y remove httpd*
yum -y remove sendmail*
chkconfig saslauthd off
killall saslauthd
rm -rf /var/run/saslauthd/
yum -y update

1. 安装Nginx相关的依赖包

(网上百度的)

yum -y install gcc openssl-devel pcre-devel zlib-devel libtool c++

2.添加一个不能登录且没有主目录的用户:

useradd www -M -s /sbin/nologin

3.下载安装Nginx

cd /opt
wget http://Nginx.org/download/Nginx-1.5.8.tar.gz
tar zxvf Nginx-1.5.8.tar.gz
cd Nginx-1.5.8
./configure --prefix=/usr/local/Nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
make && make install
cd ..

4.下载安装php

wget http://us1.php.net/distributions/php-5.5.8.tar.gz
tar zxvf php-5.5.8.tar.gz
cd php-5.5.8
./configure --prefix=`pwd`-build --enable-fpm --enable-mbstring --with-zlib --with-MySQL --with-MySQL-sock=/tmp/MySQL.sock --with-MySQLi --with-iconv --with-pdo-MySQL --with-pdo-SQLite --with-openssl --enable-opcache
make && make install

#–prefix=`pwd`-build 表示当前的目录名+“-build”

5.Nginx和php的配置

(内容太多就不详细说明了,下了附件照着做就好,具体修改哪些可以根据下面提到的默认文件自行对比)

上传覆盖前可以先把默认文件下回来,这样有空自己用Compare It!对比下看看都改了哪些参数配置。

  1. 利用SFTP上传php-fpm.conf到/opt/php-5.5.8-build/etc/(默认文件位于/opt/php-5.5.8-build/etc/php-fpm.conf.default)
  2. 利用SFTP上传php.ini到/opt/php-5.5.8-build/lib/(默认文件位于/opt/php-5.5.8/php.ini-production)
  3. 利用SFTP上传Nginx.conf到/usr/local/Nginx/conf/(默认文件就是该目录同名文件/opt/Nginx-1.5.8/conf/Nginx.conf)

命令行mkdir或者SFTP连接后在根目录建立www目录
修改vhost.conf后上传到www目录,并在www目录后建立你在vhost.conf中设定的网站目录即可。(default目录先别建立,后面会处理)

至此,Nginx和php的安装配置结束。

  1. 启动Nginx
    /usr/local/Nginx/sbin/Nginx
  2. 如果你修改了vhost.conf,则需要重载Nginx配置
    /usr/local/Nginx/sbin/Nginx -s reload
  3. 启动php
    /opt/php-5.5.8-build/sbin/php-fpm
  4. 如果修改了php的配置,需要重启php-fpm,可以执行
    关闭

    killall php-fpm

    启动

    /opt/php-5.5.8-build/sbin/php-fpm

如果你在使用的过程中发现php缺失一些功能,需要重新编译添加功能,则先关闭php-fpm,然后重新执行./configure指令以及make指令那些既可,添加新功能是添加到./configure里哦。具体的可以自己学习下。博主添加的已经很全面了。

6.安装MySQL(实在懒得下了编译了,就用默认的yum装好了)

yum -y install MySQL-server

利用SFTP上传my.cnf到/etc/(默认文件就是该目录同名文件/etc/my.conf)

命令行mkdir或者SFTP连接后在www目录下建立MySQL目录作为MySQL的数据库存放目录(my.conf已经指定)

启动MySQL服务:

/etc/rc.d/init.d/MySQLd start

如果修改了my.cnf配置,需要重启MySQL,执行如下指令:

/etc/rc.d/init.d/MySQLd restart

修改数据库root用户的密码(密码记住,后面还要用)

MySQLadmin -u root password 密码

至此,MySQL也正常运转了。

7.添加phpMyAdmin

cd /www/
wget http://jaist.dl.sourceforge.net/project/phpMyAdmin/phpMyAdmin/3.4.10.1/phpMyAdmin-3.4.10.1-all-languages.zip
yum -y install unzip
unzip phpMyAdmin-4.1.4-all-languages.zip
mv phpMyAdmin-4.1.4-all-languages default

如此,你访问VPS的IP就可以进入phpMyAdmin了,前面vhost.conf里的IP记得添加自己的哦,否则进去就是403。
成功进入后执行个SQL指令

UPDATE MySQL.user SET Password = PASSWORD('密码') WHERE User = 'root'

这样就把所有root的密码都变更到你刚才设定的了

8.添加Nginx,php-fpm和MySQL自启动

sudo vim /etc/rc.d/rc.local

按“i”进入编辑状态,在

touch /var/lock/subsys/local

下面的行添加

/opt/php-5.5.8-build/sbin/php-fpm
/usr/local/Nginx/sbin/Nginx

按ESC退出编辑状态,按“:”键进入命令行模式,输入

wq!

回车。
Nginx和php-fp自启动就添加好了。

设置MySQL服务随系统启动自启动

chkconfig MySQLd on

确认下MySQL自启动(执行下面指令后如果2-5都是on就设置好了)

chkconfig --list MySQLd

现在环境什么的都搞定了,可以SFTP到你网站的目录上传WordPress什么的折腾了。权限不足什么的自己研究下,给予适当的读写权限既可。

Related Posts: CentOS-Nginx-PHP-fpm-MySQL环境搭建与配置 :