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

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 一些命令和规则以及准备 本次流程再 DigitalOcean上的vps上通过   查看是否已经安装 rpm -qa | grep nginx 删除安装 #普通删除模式 rpm -e nginx #强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除...

一些命令和规则以及准备

本次流程再 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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
9月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
479 0
PHP和Mysql前后端交互效果实现
|
Linux 应用服务中间件 nginx
在CentOS上部署Minikube教程
至此,您已成功在CentOS上部署并使用Minikube。您可以自由探索Kubernetes的世界,熟练配置和管理Kubernetes集群。
1075 20
|
关系型数据库 MySQL PHP
利用PhpStorm、phpstudy和xdebug快速构建PHP调试环境
至此,我们已经完成了PHP调试环境的构建。现在,你可以在PhpStorm中打开你的PHP项目,设置断点,然后开始调试你的代码了。希望这个指南能帮助你快速构建PHP调试环境,提高你的开发效率。
731 26
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
608 17
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
477 18
|
Ubuntu Linux PHP
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
418 6
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
520 25
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
565 20
|
SQL 关系型数据库 MySQL
PHP与MySQL的高效交互:从基础到实践####
本文深入探讨了PHP与MySQL数据库之间的高效交互技术,涵盖了从基础连接到高级查询优化的全过程。不同于传统的摘要概述,这里我们直接以一段精简代码示例作为引子,展示如何在PHP中实现与MySQL的快速连接与简单查询,随后文章将围绕这一核心,逐步展开详细讲解,旨在为读者提供一个从入门到精通的实战指南。 ```php <?php // 数据库配置信息 $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "test_db"; // 创建连接 $conn = new mysqli($se
452 31
|
关系型数据库 MySQL PHP
PHP与MySQL的深度整合:构建高效动态网站####
在当今这个数据驱动的时代,掌握如何高效地从数据库中检索和操作数据是至关重要的。本文将深入探讨PHP与MySQL的深度整合方法,揭示它们如何协同工作以优化数据处理流程,提升网站性能和用户体验。我们将通过实例分析、技巧分享和最佳实践指导,帮助你构建出既高效又可靠的动态网站。无论你是初学者还是有经验的开发者,都能从中获得宝贵的见解和实用的技能。 ####
291 27