1.搭建nginx开发环境参考官方文档:http://nginx.org/en/linux_pac...1.设置yum官方提供使用yum安装升级nginx的方法时,在/etc/yum.repos.d/目录下创建nginx.repo文件,输入如下代码:[nginx]name=nginxrepobaseurl=http://nginx.org/packages/centos/OSRELEASE/$basearch/gpgcheck=0enabled=1将OSRELEASE替换为'5'、'6'、'7'或'5.x'、'6.x'、'7.x',根据当前的centos系统版本替换即可。设置好nginx.repo文件后,开始用yum安装nginx2,安装nginx#sudoyuminstall-ynginxyum提示安装完成,即表示安装成功,nginx安装完成。我们安装好php之后,就要设置nginx了!2.安装php71,下载#wgethttp://cn2.php.net/get/php-7.0.1.tar.gz/from/this/mirror安装INSTALL2前建议先看看安装帮助文件,解压然后安装#tarzxvfphp-7.0.0.tar.gz#cdphp-7.0.0先查看安装帮助#./configure--helpstartprecompilation#./configure--prefix=/usr/local/php\--with-curl\--with-freetype-dir\--with-gd\--with-gettext\--with-iconv-dir\--with-kerberos\--with-libdir=lib64\--with-libxml-dir\--with-mysqli\--with-openssl\--with-pcre-regex\--with-pdo-mysql\--with-pdo-sqlite\--with-pear\--with-png-dir\--with-xmlrpc\--with-xsl\--with-zlib\--enable-fpm\--enable-bcmath\--enable-libxml\--enable-inline-optimization\--enable-gd-native-ttf\--enable-mbregex\--enable-mbstring\--enable-opcache\--enable-pcntl\--enable-shmop\--enable-soap\--enable-sockets\--enable-sysvsem\--enable-xml\--enable-zip如果配置错误,需要安装需要的模块,直接yum安装依赖库#yum-yinstalllibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibxml2libxml2-develmysqlpcre-devel3,编译安装#make&&makeinstall4,配置文件#cpphp.ini-development/usr/local/php/lib/php.ini#cp/usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf#cp/usr/local/php/etc/php-fpm.d/www.conf.default/usr/local/php/etc/php-fpm.d/www.conf#cp-R./sapi/fpm/php-fpm/etc/init.d/php-fpm需要注意的是php7中的配置文件www.conf配置了phpfpm的端口号和其他信息。如果修改了默认的9000端口号,需要在这里改,然后更改nginx的配置5.启动#/etc/init.d/php-fpm查看phpinfo()6.设置php-fpm启动bysystemctl注意:这一点是额外的,可以根据自己的需要来定。个人感觉每次都是/etc/init.d/php-fpm启动,非常不方便!编辑php-fpm.conf#vim/usr/local/php/etc/php-fpm.conf将pid更改为/run/php-fpm.pidpid=/run/php-fpm.pid添加php-fpmmanager到Insystemctl#vim/usr/lib/systemd/system/php-fpm.service按i写入以下内容[Unit]Description=ThePHPFastCGIProcessManagerAfter=syslog.targetnetwork.target[Service]Type=simplePIDFile=/run/php-fpm.pidExecStart=/usr/local/php/sbin/php-fpm--nodaemonize--fpm-config/usr/local/php/etc/php-fpm.confExecReload=/bin/kill-USR2$MAINPIDExecStop=/垃圾桶/kill-SIGINT$MAINPID[Install]WantedBy=multi-user.target启动php-fpmsystemctlstartphp-fpm.service添加到bootstartsystemctlenablephp-fpm.service如果设置成功,可以添加到/etc/在里面。d/php-fpmdelete3.根据php参数配置nginx#vim/usr/local/php/etc/php-fpm.d/www.conf查看listen的值,默认listen=127.0.0.1:9000#cd/etc/nginx/conf.d#vimdefault.conf查看类似内容server{2listen80;3服务器名称本地主机;45#charsetkoi8-r;6#access_log/var/log/nginx/log/host.access.logmain;78位置/{9root/usr/share/nginx/html;10索引index.htmlindex.htm;11}1213#error_page404/404.html;1415#将服务器错误页面重定向到静态页面/50x.html16#17error_page500502503504/50x.html;18location=/50x.html{19root/usr/share/nginx/html;20}2122#将PHP脚本代理到侦听127.0.0.1:8023#24#location~\.php${25#proxy_passhttp://127.0.0.1;26#}2728#将PHP脚本传递给侦听127.0.0.1:9000的FastCGI服务器29#30location~\.php${31root/usr/share/nginx/html;32fastcgi_pass127.0.0.1:9000;33fastcgi_index索引.php;34#fastcgi_paramSCRIPT_FILENAME/脚本$fastcgi_script_name;35fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;36包括fastcgi_params;37}3839#拒绝访问.htaccess文件,如果Apache的文档根目录40#与nginx的根目录一致41#42#location~/\.ht{43#denyall;44#}45}去掉第30~37行的注释,将root改为第19行的路径(默认localhost域名访问文件路径)3.rpm安装mysql考虑到国内网速慢,mysql庞大文件包,用yum安装不太现实,编译源码需要很长时间。这里我们使用rpm包安装!可以参考官方文档:http://dev.mysql.com/doc/refm...1.下载rpm包根据官方文档,我们需要一个一个的下载每个rpm包,但是官方文档上也说了有打包好的rar供我们下载,我们需要做的就是根据自己的系统版本下载对应的rar包。-5.7.10-1.el7.x86_64.rpm-bundle.tar,带-bundle.tar的代表是所有rpm包的集合包!注:考虑到国内mysql官网下载mysql包可能比较慢,特此提供国内镜像:http://mirrors.sohu.com/mysql...findmysql-5.7.10-1.el7.x86_64.rpm-bundle.tar包,下载下来2、安装下载rar包,windows下可以用rar软件解压,然后移动到centos。由于我用的是vagrant,所以我直接把解压后的文件夹放到共享目录下。虚拟机访问,进入解压后的mysql包文件夹#cdmysql-5.7.10-1.el7.x86_64.rpm-bundle使用yum安装(也可以使用rpm命令安装,但可能会遇到依赖错误,使用yum安装,最大的好处是不需要解决软件包之间的依赖关系!使用本地下载的软件包安装yum也比较方便)#sudoyuminstallmysql-community-{server,client,common,libs}-*mysql-5.*查看类似于以下的输出DependenciesResolved=================================================================================================================================包拱版本库大小=============================================================================================================================安装:mysql-community-clientx86_645.7.10-1.el7/mysql-community-client-5.7.10-1.el7.x86_64109Mmysql-community-commonx86_645.7.10-1.el7/mysql-community-common-5.7.10-1.el7.x86_642.5Mmysql-community-libsx86_645.7.10-1.el7/mysql-community-libs-5.7.10-1.el7.x86_649.8M替换mariadb-libs.x86_641:5.5.41-2.el7_0mysql-community-libs-compatx86_645.7.10-1.el7/mysql-community-libs-compat-5.7.10-1.el7.x86_649.2M替换mariadb-libs.x86_641:5.5.41-2.el7_0TransactionSummary=====================================================================================================================安装4个包总大小:130MIsthisok[y/d/N]:这里输入y看到类似以下输出:正在下载包:运行事务检查运行事务测试事务测试成功运行事务警告:RPMDB在yum之外更改。安装:mysql-community-common-5.7.10-1.el7.x86_641/5安装:mysql-community-libs-5.7.10-1.el7.x86_642/5安装:mysql-community-client-5.7。10-1.el7.x86_643/5安装:mysql-community-libs-compat-5.7.10-1.el7.x86_644/5擦除:1:mariadb-libs-5.5.41-2.el7_0.x86_645/5警告:文件/etc/my.cnf:删除失败:没有这样的文件或目录正在验证:mysql-community-common-5.7.10-1.el7.x86_641/5Ver识别:mysql-community-libs-5.7.10-1.el7.x86_642/5验证:mysql-community-client-5.7.10-1.el7.x86_643/5验证:mysql-community-libs-compat-5.7.10-1.el7.x86_644/5验证:1:mariadb-libs-5.5.41-2.el7_0.x86_645/5已安装:mysql-community-client.x86_640:5.7.10-1.el7mysql-community-common.x86_640:5.7.10-1.el7mysql-community-libs.x86_640:5.7.10-1.el7mysql-community-libs-compat.x86_640:5.7.10-1.el7我测试的时候发现mysql-community-server.x86_640:5.7.10-1.el7没有安装,于是重新安装#sudoyuminstallmysql-community-server-5.7.10-1.el7。x86_64.rpm到这里一共安装了六个软件包,启动mysql:#sudoservicemysqldstart验证是否启动成功:#ps-aux|grepmysql如果看到mysql进程,说明启动成功!3.修改root用户密码注:新版本m考虑到安全问题,ysql默认的root密码不再是root。有人说新版本的mysql会在根目录下生成一个“.mysql_secret”文件。我没有看到这个文件。首先修改mysql的配置文件#sudovim/etc/my.cnf在[mysqld]下增加“skip-grant-tables”,表示禁用授权,这样用户就可以直接登录mysql了!重启mysql#sudoservicemysqldrestartloginmysql#mysql进入mysql客户端界面mysql>usemysql;mysql>UPDATEuserSETauthentication_string=PASSWORD("NEWPASSWORD")WHEREUser='root';mysql>FLUSHPRIVILEGES;mysql>quit;注意:authentication_string=PASSWORD("NEWPASSWORD")中的PASSWORD是mysql的一个加密函数,用于生成加密字符串,千万不要错过这个函数!列名也是用户,而不是用户。将配置文件中的免授权登录代码注释掉#sudovim/etc/my.cnf重启mysql:#sudoservicemysqldrestart重启登录mysql客户端:#mysql-uroot-p输入密码进行操作,如果还是报1820错误,说明你之前设置的密码不符合密码规则。为了安全,新版mysql的密码规则发生了变化。设置的密码必须包含大小写字母、数字和特殊符号。至此,mysql的安装和设置就基本完成了。为了方便后面的开发,我选择新建一个超级用户。如果你也有这个需求,可以参考4.创建一个可以远程连接mysql的管理员用户。使用mysql自带的客户端远程添加和登录。作为用户,首先使用root用户登录本地mysql,执行如下命令:mysq>GRANTALLPRIVILEGESON*.*TOadmin@localhostIDENTIFIEDBY"yourpassword"WITHGRANTOPTION;上一句代码添加了一个admin用户,可以通过密码访问本地mysql数据库。执行以下代码mysq>GRANTALLPRIVILEGESON*.*TOadmin@'%'IDENTIFIEDBY"123456"WITHGRANTOPTION;这行代码是授权用户admin可以通过任意主机访问mysql数据库。如果做了以上设置,还是无法远程访问。连接的话,可以考虑iptables可能有问题。退出mysql客户端mysql>exit;CentOS7.0默认使用firewall作为防火墙,这里改为iptables防火墙。关闭防火墙:#systemctlstopfirewalld.service#stopfirewall#systemctldisablefirewalld.service#禁止防火墙启动
