一些命令和规则以及准备
本次流程再 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