最近买了个虚、拟机嘛,所以动手研究下环境搭建,不用一键包,卸载掉默认安装的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的配置
(内容太多就不详细说明了,下了CentOS-nginx-php-fpm-mysql环境搭建与配置.rar 照着做就好,具体修改哪些可以根据下面提到的默认文件自行对比)
上传覆盖前可以先把默认文件下回来,这样有空自己用Compare It!.zip 对比下看看都改了哪些参数配置。
- 利用SFTP上传php-fpm.conf到/opt/php-5.5.8-build/etc/(默认文件位于/opt/php-5.5.8-build/etc/php-fpm.conf.default)
- 利用SFTP上传php.ini到/opt/php-5.5.8-build/lib/(默认文件位于/opt/php-5.5.8/php.ini-production)
- 利用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的安装配置结束。
- 启动nginx
/usr/local/nginx/sbin/nginx
- 如果你修改了vhost.conf,则需要重载nginx配置
/usr/local/nginx/sbin/nginx -s reload
- 启动php
/opt/php-5.5.8-build/sbin/php-fpm
- 如果修改了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什么的折腾了。权限不足什么的自己研究下,给予适当的读写权限既可。
未经允许不得转载:阿藏博客 » CentOS-Nginx-PHP-fpm-MySQL环境搭建与配置