zoukankan      html  css  js  c++  java
  • Ubuntu 16 服务器配置PHP+MySQL+Apache环境

    一、获取软件包资源并进行资源更新

    apt是Ubuntu上默认的软件包管理器,使用它可以很容易进行各种软件安装,而且会自动帮你安装可能需要的依赖关系。

    另一个强大的软件管理工具是 dpkg,可以用于安装本地的deb文件。但是 dpkg 不会解决模块的依赖关系,也不会关心ubuntu的软件仓库内的软件版本,因此不推荐新手使用。

    update 用于获取软件包资源,upgrade 用于下载和安装获取到的软件包资源。

    sudo apt update
    sudo apt upgrade

     

    二、依次安装PHP、PHP的一般性扩展、MySQL和Apache

    1.php-fpm:

    服务器软件(apache、nginx、IIS)本身不能处理和解释编程语言(JAVA、PHP、Per等),服务器接收到动态请求后,会把请求发送给对应的解释器处理,并把结果返回给客户端。

    一般是把请求发送给fastcgi管理进程处理,fastcgi管理进程选择cgi子进程处理结果并返回。

    php-fpm就是一个PHP FastCGI管理器,旨在将FastCGI进程管理整合进PHP包中。

    php-fpm提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点。

    2.php-mbstring:是一个编码相关的扩展

    sudo apt install -y php php-fpm php-mbstring mysql-server apache2

     

    三、安装php对MySQL的支持扩展和apache对php的支持扩展

    安装完PHP、MySQL和Apache后还要让三者互相支持彼此,为此需要安装一些额外的扩展。

    php-mysql扩展能让PHP支持MySQL,而 libapache2-mod-php 能让Apache支持PHP。

    sudo apt install -y php-mysql libapache2-mod-php

     

    四、对apache进行相关配置,一般配置文件在 /etc/apache2/ 目录下,其目录结构一般如下:

    .
    ├── apache2.conf
    ├── conf-available
    ├── conf-enabled
    ├── envvars
    ├── magic
    ├── mods-available
    ├── mods-enabled
    ├── ports.conf
    ├── sites-available
    └── sites-enabled

    apache2.conf是主要的配置文件,Apache在启动时会自动读取这个文件的配置信息。而其他的一些配置文件,如 httpd.conf等,则是通过Include指令包含进来。

    该目录下有一些以 -available 和 -enable 结尾的目录,正真的配置文件在available 目录中,enable中的只是这些配置文件的一些链接符号(一般是软链接)。

    要使用某种配置其实很简单,只需要在enable目录中创建对应available目录中文件的软链接,不需要时再删除软链接。

    如果你只是在服务器上放置一个网站,简单的修改一下 /etc/apache2/site-enable 中的符号文件 000-default.conf 就行了,只需要把 DocumentRoot 的值改为你网站入口文件所在的目录即可。该文件配置内容大致如下:

    <VirtualHost *:80>
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}
    /error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

    如果想要在一个服务器上放多个域名和网站,又不想使用虚拟主机,这时你可能还需要修改 ServerAdmin 的值为你服务器IP绑定的域名。

     

    五、利用apache重写模块隐藏入口文件:

    为了简化和安全的目的,一般会隐藏入口文件。可以利用apache的重写模块和一定的配置实现这个目的。

    1.引入重写模块:在 /etc/apache2/mods-enable 中创建符号文件 rewrite.load,指向 /etc/apache2/mods-available 中的重写模块 rewrite.load

    ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load 

    2.启动重写功能:修改 /etc/apache2/apache2.conf 配置文件中的 AllowOverride None 为 AllowOverride ALL,一共有三处,三处都要修改。

    3.隐藏入口文件:在项目入口文件所在的目录中新建 .htaccess 文件,键入如下内容:

    <IfModule mod_rewrite.c>
         RewriteEngine on
         RewriteCond %{REQUEST_FILENAME} !-d
         RewriteCond %{REQUEST_FILENAME} !-f
         RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]
    </IfModule>
  • 相关阅读:
    openvswitch 监听端口变化
    Python set() 函数
    openstack-neutron-OVS agent分析
    openvswitch ovs-appctl 使用
    python setup.py install 报错【Project namexxx was given, but was not able to be found.】
    openstack nova 创建虚机流程
    Linux kernel 模块 hello 测试
    openvswitch 流表操作
    软件测试开发之第一篇(测试文档)
    Java工具之Myeclipse程序调试
  • 原文地址:https://www.cnblogs.com/jxc321/p/10727999.html
Copyright © 2011-2022 走看看