代码改变世界

centos6.5 开发环境部署(nignx1.7.10+php5.4.38+mysql+ftp)

2015-03-04 22:29  cczw  阅读(1655)  评论(0编辑  收藏  举报

一些命令和规则以及准备

本次流程再 DigitalOcean上的vps上通过

 

查看是否已经安装

rpm -qa | grep nginx

删除安装

#普通删除模式
rpm -e nginx
#强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
rpm -e --nodeps nginx

查看端口是否被占用

netstat -ano|grep 80

目录

#源码
/usr/local/src
#安装目录
/user/local/

安装编译代码需要的包

yum -y install gcc automake autoconf libtool make gcc-c++ cmake bison-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel

#centos源不能安装libmcrypt-devel,要用第三方源
wget http://www.atomicorp.com/installers/atomic
sh ./atomic
yum -y install php-mcrypt libmcrypt libmcrypt-devel


#有的平台默认没有wget ,手动安装
yum install wget

安装nginx

安装PCRE库(为了重写rewrite)

cd /usr/local/src

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz
tar -zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure
make
make install

安装zlib库(为了支持压缩)

cd /usr/local/src

wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install

安装ssl

cd /usr/local/src

wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -zxvf openssl-1.0.1c.tar.gz

安装nginx

cd /usr/local/src

wget http://nginx.org/download/nginx-1.7.10.tar.gz
tar -zxvf nginx-1.7.10.tar.gz
cd nginx-1.7.10

#--with-pcre=/usr/src/pcre-8.35 指的是pcre-8.35 的源码路径。
#--with-zlib=/usr/src/zlib-1.2.7 指的是zlib-1.2.7 的源码路径。
./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35 --with-zlib=/usr/local/src/zlib-1.2.8 --with-openssl=/usr/local/src/ openssl-1.0.1c

make #编译时间很长,可以去喝杯茶
make install

配置

#配置文件
/usr/local/nginx/nginx.conf

#开启php支持,只需要安装php后,打开nginx配置文件中加入以下部分,重启nginx
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# 原始的nginx配置是上面注释的部分,应该改成下面部分
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

#软连接到全局调用
ln -s /usr/local/nginx/nginx /usr/local/bin/nginx

启动
nginx
nginx -s reload #重启

安装 php


1 安装

cd /usr/local/src
wget http://am1.php.net/distributions/php-5.4.38.tar.gz
tar -zxvf php-5.4.38.tar.gz

cd php-5.4.38
./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt --enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir --disable-fileinfo
#内存小于1G 必须加 --disable-fileinfo

make all install

2 配置

cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf

#链到全局目录
ln -s /usr/local/php/sbin/php-fpm /usr/local/bin/php-fpm

# php.ini 位置

cp /etc/php.ini /usr/local/php/lib/php.ini
mv /etc/php.ini /etc/php.ini.bak

3 运行

php-fpm
#手动打补丁的启动方式:php-fpm start

4 手动打补丁,扩展

#扩展安装必须库
yum -y install php-pear
yum -y install php-devel

#ImageMagick安装
yum -y install ImageMagick
yum -y install ImageMagick-devel

#php扩展库增加 安装过程直接回车用默认选项
pecl install imagick
#安装完毕之后命令行会告诉你安装到的位置(我的位置):/usr/lib64/php/modules/imagick.so

#php.ini 中增加扩展项
vi /usr/local/php/lib/php.ini
extension=/usr/lib64/php/modules/imagick.so #增加项

#重启
killall php-fpm
php-fpm

 

安装 mysql


>编译安装mysql非常容易遇到各种问题,所以yum安装吧。。。默认安装的是5.1版本

1 安装

yum -y install mysql-server

2 设置开机启动

chkconfig mysqld on

3 启动MySql服务

service mysqld start

4 设置MySQL的root用户设置密码

mysql -u root
>use mysql;
>select user,host,password from mysql.user;
>set password for root@localhost=password('123456');
>exit;
#新密码登陆
mysql -u root -p

5 开放远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;

 

安装ftp服务器

>自己开发的话直接使用ssh登陆ftp就能玩耍了。但是多人协作的话,还是安装一些ftp服务器做权限管理比较好

1 安装

#安装

yum install vsftpd

#设置开机启动

chkconfig vsftpd on

#启动|重启|停止

service vsftp start  #restart|stop

2 与vsftpd服务器有关的文件和文件夹

vsftpd服务器的配置文件的是: /etc/vsftpd/vsftpd.conf,参数意义:

anonymous_enable=NO            #禁止匿名

local_enable=YES                       #允许本地登录

write_enable=YES                       #允许写,如需上传,则必须

local_umask=027                        #将上传文件的权限设置为:777-local_umask

anon_upload_enable=YES          #允许虚拟用户和匿名用户上传

anon_other_write_enable=YES #允许虚拟用户和匿名用户修改文件名和删除文件

dirmessage_enable=YES           

xferlog_enable=YES                      #打开日志记录

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log     #日志存放位置

xferlog_std_format=YES              #标准日志格式

idle_session_timeout=600        #空闲连接超时

data_connection_timeout=120

ftpd_banner=Welcome to ChinaRise FTP service       #欢迎信息

guest_enable=yes                       #允许虚拟用户

guest_username=vsftpdguest #虚拟用户使用的系统账号

virtual_use_local_privs=YES     #虚拟用户拥有本地系统权限

 

chroot_local_user=NO              

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

 #以上两行将虚拟用户限制在其目录下,不能访问其他目录,或者直接调用。被限制的用户名在chroot_list中,一行一个,没有/etc/vsftpd/chroot_list文件需要手动建立            

 

 

listen=yes                #监听/被动模式

listen_port=21        #监听端口

vsftpd服务器的根目录,即FTP服务器的主目录:

more /etc/passwd|grep ftp

#下面是输出

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

3 添加FTP本地用户

#增加ftpuser用户,指向/var/www目录,属于ftp用户组  禁止登陆系统

/usr/sbin/adduser -d /var/www -g ftp -s /sbin/nologin ftpuser

#设置用户口令

passwd ftpuser