linux下php开发环境搭建(nginx+php+mysql)
安装前准备工作
先安装一些必要的类库
yum install -y wget zlib-devel bzip2-devel curl-devel openssl openssl-devel vim subversion pcre-devel
php需要的一些类库
yum install -y libxml2 libxml2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel libxslt-devel
//mcrypt扩展
yum install -y libmcrypt libmcrypt-devel php-mcrypt
mysql相关类库
yum install -y cmake gcc gcc-c++ perl-Data-Dumper libaio git perl bison ncurses-devel
一、安装nginx
1、下载nginx安装包
wget -c http://nginx.org/download/nginx-1.7.4.tar.gz
2、进入目录,解压
tar -zxvf nginx-1.7.4.tar.gz
3、编译
./configure --prefix=/usr/local/nginx --with-pcre --with-file-aio --with-http_gzip_static_module --with-http_ssl_module --with-http_stub_status_module
4、安装
make && make install
5、检查是否安装成功
/usr/local/nginx/sbin/nginx -t检测是否成功
/usr/local/nginx/sbin/nginx 启动nginx
/usr/local/nginx/sbin/nginx -s reload 重启
6、开放端口
vi /etc/sysconfig/iptables #编辑防火墙配置文件
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3360 -j ACCEPT
保存退出
service iptables restart 重启防火墙
7、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
SELINUX=disabled #增加
保存退出
setenforce 0 #使配置立即生效
二、PHP编译安装
1、下载php压缩包
http://php.net/get/php-5.4.41.tar.gz/from/a/mirror
2、解压
tar xzvf php-5.4.41.tar.gz
3、编译安装
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-openssl --with-pear=/usr/share/php --enable-ftp --enable-zip --with-bz2 --with-zlib --with-libxml-dir=/usr --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-freetype-dir --with-gettext --with-iconv --enable-mbstring --disable-ipv6 --enable-inline-optimization --enable-static --enable-sockets --enable-soap --with-mhash --with-pcre-regex --with-mcrypt --with-curl --with-mysql --with-mysqli --with-pdo_mysql
make && make install
4、配置
进入php配置目录
cd /usr/local/php/etc
cp php.ini-development php.ini
cp php-fpm.conf.default php-fpm.conf
#编辑php-fpm配置文件(简单配置一下)
vi /usr/local/php/etc/php-fpm.conf
user = nobody #设置php-fpm运行账号为nobody
group = nobody #设置php-fpm运行组为nobody
pid = run/php-fpm.pid #取消前面的分号
:wq! #保存退出
#编辑php.ini配置文件(简单配置一下,更多配置请参考官方说明)
vi /usr/local/php/etc/php.ini
找到:;date.timezone =
修改为:date.timezone = PRC #设置时区
找到:expose_php = On
修改为:expose_php = Off #禁止显示php版本的信息
找到:short_open_tag = Off
修改为:short_open_tag = ON #支持php短标签
找到opcache.enable=0
修改为opcache.enable=1 #php支持opcode缓存
找到:opcache.enable_cli=1 #php支持opcode缓存
修改为:opcache.enable_cli=0
在最后一行添加:zend_extension=opcache.so #开启opcode缓存功能
:wq! #保存退出
5、启动php-fpm
执行 /usr/local/php/sbin/php-fpm
6、设置php-fpm开机启动
cp phpsrc/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷贝php-fpm到启动目录
chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限
chkconfig php-fpm on #设置开机启动
7、php-fpm进程管理
/usr/local/php/sbin/php-fpm #启动php-fpm
INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`(进程号)
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
php.ini-development
8、配置nginx支持php
vi /usr/local/nginx/conf/nginx.conf
修改/usr/local/nginx/conf/nginx.conf 配置文件,需做如下修改
user nobody nobody; #首行user去掉注释,修改Nginx运行组为nobody nobody;必须与/usr/local/php/etc/php-fpm.conf中的user,group配置相同,否则php运行出错
index index.html index.htm index.php; #添加index.php
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#取消FastCGI server部分location的注释,注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径
重启nginx
/usr/local/nginx/bin/nginx -s reload
三、Mysql安装
mysql的安装方式有2种,一种是编译安装,一种是直接下载编译好的压缩包进行安装
这里采用官方编译好的方式进行安装
1、下载mysql
wget -c http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
2、解压,将其解压在/usr/local/mysql目录下
tar xzvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
3、创建mysql用户组
shell> groupadd mysql
shell> useradd -g mysql -s /bin/false mysql
4、进入mysql解压后的目录,安装mysql
cd /usr/local/mysql
进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
mysql5.7.6以上版本请用如下命令安装
shell> bin/mysql_install_db --user=mysql # Before MySQL 5.7.6
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up
记住安装后的命令行提示的mysql密码
--复制my.cnf配置文件
cp support-files/my-medium.cnf /usr/local/mysql/my.cnf
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
修改/usr/local/mysql权限
chown -R mysql:mysql /usr/local/mysql
5、启动MySQL
添加服务,拷贝服务脚本到init.d目录,并设置开机启动
cp support-files/mysql.server /etc/init.d/mysql
chmod +x mysql
chkconfig mysql on
service mysql start --启动MySQL
6、修改mysql密码
./mysqladmin -p旧密码 password 新密码;
7、修改远程访问权限(这里以root为例)
grant all privileges on *.* to 'root'@'%' identified by '123456';
flush privileges;
linux下php开发环境搭建(nginx+php+mysql)的更多相关文章
- Linux下golang开发环境搭建
对于golang开发来说,Windows下可以用vscode或者liteide都不错,但是Linux下的开发也就只有vim了,所以怎么搞笑的利用vim进行golang开发呢? 参考官方推荐的一个插件: ...
- Linux下PHP开发环境搭建
平时写程序时都是在服务器已经搭建好的PHP环境进行的.出于对未知知识的好奇,这几天在自己的机器上搭建起了PHP开发环境.本想轻松顺利的看到phpinfo显示在我的页面上,没想到安装环境时一路的erro ...
- ubuntu下php开发环境搭建,nginx+(cgi)php5fpm+memcached+xdebug
由于只是开发环境,所以都是选择比较简单的apt-get安装方式 ,但中间也遇到一点问题. 首先安装nginx nginx的安装和配置其实很简单,nginx本身非常轻量级, 直接 sudo apt-ge ...
- Linux下Java开发环境搭建—CentOS下Eclipse的安装教程
据了解,在Linux下的Java开发很多时候都比较喜欢使用vim + 插件,反而很少使用Eclipse,但是我是第一次使用Linux来进行Java编程,就什么都体验下啦,好啦,废话不多说,直接开始啦. ...
- Linux下Java开发环境搭建—CentOS下Mysql安装教程
本人学习Linux时使用的是CentOs5.5版本,在该环境中,Mysql的安装方法有很多种,下面我只讲我这次成功了的方法,作为一个记录,供大家参考,同时给自己做一个笔记. MySQL下载 1.进入网 ...
- Linux 下web开发环境搭建-jdk环境搭建
Centos 7 附:windows 下jdk环境变量 CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools ...
- 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)
深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...
- NDK在windows下的开发环境搭建及开发过程
在Android应用的开发工程中,不管是游戏还是普通应用,都时常会用到.so即动态链接库,关于.so是什么玩意儿,有什么好处,这个大家可以在网上查一下,本人不做过多解释..so本是linux下的文件类 ...
- Android下NDK开发环境搭建
Android下NDK开发环境搭建 1. AndroidNDK安装与配置 1.1 NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP部 ...
随机推荐
- 微信小程序问题2:未配置
app.json 中未配置当前页面 pages/swipertest/swipertest 请检查后重试.console.error(`PAGE DEFINE ERRORapp.json 中未配置,当 ...
- HTML CSS基础(三)
3种列表:有序列表.无序列表和定义列表 表1 3种列表记忆 标签 语义 说明 ol ordered list 有序列表 ul unordered list 无序列表 dl definition lis ...
- mybatis sql中if判断传入Integer类型,传入0时,判断没有执行
数据库中字段 isDisable 0:否:1:是 xml中判断 <if test="isDisable != null and isDisable !='' "> AN ...
- 安装pip工具
Python 2.7.9+ and 3.4+ Good news! Python 3.4 (released March 2014) and Python 2.7.9 (released Decemb ...
- ZOJ 1025 Wooden Sticks
题目大意:有n个木棍,分别具有长度li和重量wi.对于木棍s1和s2,若l1<=l2且w1<=w2,则s1.s2可构成单调递增序列.求n个木棍中这样序列的个数. 最先的想法是,先排序,然后 ...
- SQL Server 2005入门到精通(案例详解)
SQL Server 2005基础应用 一.数据库的基本操作 --创建数据库 create database new_db2 on primary ( name='new.mdf', filena ...
- webx学习
webx框架学习指南 http://openwebx.org/docs/Webx3_Guide_Book.html webx学习(一)——初识webx webx学习(二)——Webx Framewor ...
- 删除SVN文件 Delete SVN Folders.reg
批量删除文件夹里的SVN 文件 ------------------------------------------------------------------------------------ ...
- 老司机教你下载tumblr上视频和图片的正确姿势
本文面向初学者. 很多同学问我:“我非常想学Python编程,但是找不到兴趣点”. 还有的同学呢,找到了很好的兴趣点,但是无从下手,“玄魂老师,我想下载tumblr上的视频, 怎么下载,Python能 ...
- tomcat服务器搭建之ngrok——将内网地址映射到外网
最近心血来潮,想学习微信公众号开发.但是自己又没有外网服务器,这个给我带来很大的麻烦. 刚开始申请了新浪云服务和百度云服务,将写好的代码打包丢到相应的云服务器上就行. 但问题就来了,开发中避免不了错误 ...