前言:之前本小生也尝试过源码安装,即在官网下载nginx,php,mysql的tar包然后手工一步一步的搭建,但是期间发现,每个软件在linux环境运行时都需要大量的依赖包,比如nginx需要gcc等,php需要pcre等,都需要逐个的去官网找安装包安装,比较麻烦和繁琐,尤其是在安装前执行配置环境变量./configure 时,稍不留神或者之前少安装了某个依赖包,那就是频繁的报错和调试了,对于有时间做研究来说是可以提高经验和熟知原理,但是在工作重心放在开发上,想要快速搭建环境来讲,还是推荐大家使用CentOS自带的yum软件管理工具来实现,比较方便快捷,下面我们来搭建环境:
1准备工作:
关闭防火墙 (老百姓专用),执行
chkconfig iptables off
atomic
软件源,当然还有其他输入Adobe等很多软件源可选。
首先安装atomic
软件源的脚本,找一个下载存放的目录,我的是 /usr/local/src 执行:
cd /usr/local/src
atomic
脚本,执行:
wget http://www.atomicorp.com/installers/atomic
atomic
源的软件支持,执行:
sh ./atomic
执行后可以运行一下 yum
check
-
update
来看看是否需要有更新的软件,执行:
yum check-update
执行过后,我们来安装Nginx所必要的依赖包和环境,依靠yum的话只要输入对软件名称,yum全搞定,执行:
yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel
yum remove nginx yum remove mysql yum remove php
下面安装Nginx,由于前边已经做好准备,后边很简单的执行:
yum install nginx
service nginx start
chkconfig --levels 235 nginx on
3 安装 Mysql
执行:
yum install mysql mysql-server mysql-devel
service mysqld start
chkconfig --levels 235 mysqld on
mysql -h localhost -u root
执行sql语句来修改mysql密码,也可以修改配置文件,这里修改密码的sql语句为:
update mysql.user set password = PASSWORD('*********') where user='root'; flush privileges;
首先安装PHP需要依赖的环境,依旧是直接yum安装,执行:
yum install php lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap
yum install php-tidy php-common php-devel php-fpm php-mysql
service php-fpm start
设置开机启动
chkconfig --levels 235 php-fpm on
首先备份一下Nginx配置文件,并使用默认的配置文件,依次执行:
mv /etc/nginx/nginx.conf /etc/nginx/nginx.confbak cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf
修改nginx配置文件,添加fastcgi支持(使Nginx可以解析PHP脚本,有时遇到虽然路径配对了,但是不显示php页面却把页面给下载了,就是这块没起作用),执行:
vim /etc/nginx/nginx.conf
location ~ \.php$ { root /www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
之后,最好修改一下php的系统时间,也就是差八小时那个问题,并设置一下
cgi.fix_pathinfo = 1
来防止坏蛋用二进制代码通过php上传来恶意搞你,可以访问 :
vi /etc/php.ini
最后,重启Nginx和php-fpm来更新我们的配置,执行:
service nginx restart && service php-fpm restart
在开发和学习中,我们可能需要很多的虚拟主机来安置不同的网站和开发任务,yum安装后搭建虚拟主机的方法如下:
访问:
cd /etc/nginx
mkdir vhost
vim vhost/www.test.com.conf
server { listen 80; server_name www.test.com; index index.php index.html; root /www/test; location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fcgi.conf; } access_log /var/log/www.test.com.log; }
vim /etc/nginx/nginx.conf
include vhost/*.conf;
service nginx restart