部署项目到服务器

来源:互联网 发布:沈阳学历网络教育学校 编辑:程序博客网 时间:2024/04/28 15:59

环境:PHP 5.3.3、Apache 2.0、MySQL 5.1.73、CentOs 6.5

工具:FileZilla、Navicat (win下另需准备SSH Secure Shell)

首先登录服务器

  • 使用SSH连接centos

    ssh root@127.0.0.1

    用户名@ip地址,之后输入密码。


    如果遇到这个错误

    RSA host key for mysharebook.cn has changed and you have requested strict checking.
    Host key verification failed.

    这是Linux重装或则openssh-server重装引起的,执行以下命令即可

    ssh-keygen -R IP  

    把IP换成你要连的服务器就可以了。

安装php apache mysql

  • 执行命令

    yum install httpdyum install mysqlyum install php

查找Apache安装目录

  • 连接成功之后,输入命令

    find / -name httpd.conf

    查找到配置文件,在配置文件中搜索DocumentRoot后边的目录就是默认的用于部署的目录。
    上边find命令是在所有文件中查找,也可以指定在某个文件夹下查找,例如:find /etc -name httpd.conf

  • 使用Filezilla上传所有代码到部署目录。

  • 使用Navicat上传数据库
    连接之后新建一个数据库(New Database),执行本地sql文件
    这里写图片描述

Centos上Apache重启,mysql重启, nginx 重启方法
  1.重启 apache
  service httpd restrat
  /etc/init.d/httpd stop
  /etc/init.d/httpd start
  2.重启 mysql
  service mysql restart
  /etc/init.d/mysqld stop
  /etc/init.d/mysqld start
  3.重启Nginx
  service nginx restart
  /etc/init.d/nginx stop
  /etc/init.d/nginx start

Apache伪静态支持

  1. 首先确定Apache是否加载了Mod_rewrite 模块
    方法: 检查 httpd.conf 中是否存在以下代码,去掉注释

    #LoadModule rewrite_module libexec/mod_rewrite.so
  2. 检查Apache是否开启.htaccess支持
    httpd.conf
    所有的AllowOverride All #如果后面参数为None需要修改为All

  3. 重启Apache

Mac中php.ini、hosts等文件的位置

  • 位于/private/etc文件夹下,private文件夹是一个隐藏文件夹。
  • 该文件夹中没有php.ini文件,而是有一个php.ini.default文件。所以我们需要copy一份出来,然后进行修改。

    cd /private/etc/sudo cp php.ini.default php.ini 
  • 修改php.ini配置

    sudo nano /private/etc/php.ini

    nano命令详见参考资料介绍。

服务器中访问远程数据库并执行sql文件

  • 登录服务器(服务器中需安装mysql),执行命令

    mysql -hip地址或者域名 -u用户名 -p

    输入密码,登录成功之后会显示如下界面

    Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 470729593Server version: 5.6.29 Source distributionCopyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  • 查看远程服务器中的数据库

    show databases
  • 选择需要操作的数据库

    use 数据库名称
  • 选择要执行的sql文件的路径(文件需要在你连接数据库的服务器中)

    source 文件路径










Mac中配置Apache+Mysql+PHP环境

  • 启动Apache

    sudo spschectl start

    如果启动之后在浏览器访问127.0.0.1显示”it works!”就表示已经启动成功

  • Apache默认Root目录

    Apache系统级的根目录及对应网址是:
    /Library/WebServer/Documents/ http://localhost

    可以在/private/etc/Apache2中修改httpd.conf来进行配置。

  • 启动PHP

    sudo nano /private/etc/apache2/httpd.conf

    打开之后Ctrl+w查找php 找到下边代码之后去掉注释#,然后保存。

    #LoadModule php5_module libexec/apache2/libphp5.so

    重启Apache

    sudo apachectl restart  

    现在PHP应该已近正常工作了 可以在Apache的根目录下添加一个index.php文件进行测试,文件中写入如下代码

    <?php    phpinfo();?>

安装Mysql

  • 你可以点击 http://dev.mysql.com/downloads/mysql/ 去官网下载 MySQL 的安装包。
    请下载 Mac OS X 10.7 (x86, 64-bit), DMG Archive (如有更新版本,可下载)。

  • 下载完成之后进行安装,安装完成时需要注意的事,到最后一步的时候mysql会给你一个默认的root用户和密码,一定要记下来.

  • 在偏好设置中最后部分打开mysql,并且启动。或者可以在命令行直接启动mysql,但是要注意,如果在mysql已经启动的情况下,再使用命令行进行启动,会出现一系列的错误,此时需要将已经启动的mysql进程杀掉,重新启动。

    sudo /usr/local/mysql/support-files/mysql.server start

    上边的目录结构是mysql的默认安装位置
    如果不想每次都输入这么长的路径进行定位的话,可以参考后边资料中进行环境变量配置,或者使用alisa命令设置别名,但是设置的别名只能在当前当次终端中有效。

    alisa mysql=/usr/local/mysql/bin/mysqlalisa mysqladmin=/usr/local/mysql/bin/mysqladmin
  • 登录mysql,并修改初始密码

    sudo /usr/local/mysql/bin/mysqladmin -uroot -pyrWVyoNq?0eP password 123456
  • 修改之后在登录mysql

    mysql -u root -p

    输入密码登录

如果在项目访问数据库的时候出现"No such file or directory"时,

  1. 首先确定是mysql_connect()和mysql_pconnect()的问题,故障现象就是函数返回空,而mysql_error()返回“No such file or directory”

  2. 写个phpinfo页面,找到mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket

  3. 启动mysql,执行命令 STATUS; 记下UNIX socket的值

  4. 如果2和3的值不一样,则打开php.ini(可以从phpinfo页面中找到php.ini的位置,默认是/private/etc/php.ini),将2中提到的三个配置项的值改成3的值。
    (注意,一共修改三处,分别为:mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket)

  5. 重启apache

Linux下的文件权限

  • -rwxrwxrw、-drwxrwxrwx、-r-xr-xr-x、-rw——-

    r读 数字4,w写数字2,x执行数字1,3个一组,  第一组是自己的权限,第二组是自己所在组的权限,第三组是所有人的权限改变的话输入:chmod  764 文件路径  //修改该文件的权限chmod  764 文件路径  //修改该文件下的所有文件的权限7=4+2+1,6=4+2,4=4前边有d的代表的是该文件为文件夹

brew

  • mac下安装phpstorm之后,运行会报502错误,提示

    php-cgi not foundPlease ensure that configured PHP Interpreter built as CGI program (--enable-fastcgi was specified)

    这是由于我们使用的是mac中自带的php导致的 所以我们需要重新下载一个php,而此时,使用brew来安装就是最好的选择。

  • 安装步骤

  • 如果在安装过程中报这个错

    Error: Formulae found in multiple taps:  * homebrew/php/php54 * josegonzalez/php/php54

    使用如下命令消除

    brew untap josegonzalez/homebrew-php

    然后开始下载,直到出现如下画面时表示安装成功

    这里写图片描述

    安装完成之后可以使用 brew search php53- 命令,可以查看还有哪些扩展可以安装,然后执行 brew install php53-XXX 就可以了。
    这里写图片描述


    这里写图片描述

    这个时候,我们使用 phpinfo 函数显示出来的php版本还是max自带的PHP5.4,需要我们修改 apache的配置文件 httpd.conf,加载的php5模块路径指向刚刚安装的 php5.3目录里的 libphp5.so:

    LoadModule php5_module    /usr/local/opt/php53/libexec/apache2/libphp5.so

    重启apache,phpinfo() 脚本里显示的 php 版本就变成了 PHP Version 5.3.29。


    当我们使用brew安装了双版本的php的时候,

    brew安装的php的安装路径为

    /usr/local/opt/php53

    php.ini文件的路径为

    /usr/local/etc/php/5.3/php.ini

参考资料:
Linux下安装Apache+PHP+MySql搭建PHP运行环境
Mac OS X 配置 Apache+Mysql+PHP 详细教程
nano命令
Mac下PHP连接MySQL报错"No such file or directory"的解决办法
Mac下通过 brew 安装不同版本的php
Mac入门(三)使用brew安装软件

0 0
原创粉丝点击