在Ubuntu上搭建环境
在 Ubuntu 上设置环境是三个平台中最简单的。事实上,你可以从 "使用 Vagrant 设置环境" 一节中提取 provisioner.sh
脚本,并在笔记本电脑上执行。这样就可以了。不过,为了以防万一,或者你已经安装了某些工具,或者你想对正在发生的事情有一种控制感,我们将详细说明每一步。
安装 PHP
本节中唯一需要考虑的事情是删除系统上任何以前的 PHP 版本。为此,您可以运行以下命令:
$ sudo apt-get -y purge php.*
下一步是添加必要的存储库以获取正确的 PHP 版本。添加和更新它们的命令是:
$ sudo apt-get install python-software-properties
$ sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php -y
$ sudo apt-get update
最后,我们需要安装 PHP 7 以及 MySQL 的驱动程序。为此,只需执行以下三个命令:
$ sudo apt-get install php7.0 php7.0-fpm php7.0-mysql -y
$ sudo apt-get --purge autoremove -y
$ sudo service php7.0-fpm start
安装 MySQL
手动安装 MySQL 与使用 Vagrant 脚本略有不同。由于我们可以与控制台交互,因此不必事先指定 root 密码;相反,我们可以强制 MySQL 提示密码。运行以下命令,记住安装程序会要求你输入密码:
$ sudo apt-get -y install mysql-server mysql-client
完成后,如果需要启动 MySQL 服务器,可以使用以下命令:
$ sudo service mysql start
安装 Nginx
首先需要知道的是,同一端口只能有一个网络服务器在监听。由于 80
端口是网络应用程序的默认端口,如果在 Ubuntu 机器上运行 Apache,就无法启动 Nginx 网络服务器监听同一个 80
端口。要解决这个问题,可以更改 Nginx 或 Apache 的端口,停止 Apache 或卸载它。无论哪种方法,Nginx 的安装命令如下:
$ sudo apt-get install nginx –y
现在,您需要使用 Nginx 启用站点。这些站点是 /etc/nginx/sites-available
下的文件。默认情况下,那里已经有一个文件,您可以安全地将其替换为以下内容:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /var/www/html;
index index.php index.html index.htm;
server_name server_domain_or_IP;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
该配置基本上将网络应用程序的根目录指向 /var/www/html
目录。你可以选择你喜欢的目录,但要确保它有正确的权限。此外,它还监听 80
端口,你也可以根据自己的喜好进行更改;只要记住这一点,当你尝试通过浏览器访问你的应用程序时就可以了。最后,运行以下命令应用所有更改:
$ sudo service nginx restart