包装
首先是第一。更新Ubuntu,并获取Nginx和PHP软件包。
# sudo apt-get update && sudo apt-get -y upgrade
# sudo apt-get -y install nginx php7.0 php7.0-fpm
安装完成后,所有软件包均应就位,并且可以正常运行。为确保确实如此,您可以检查Nginx和PHP-FPM服务是否都在Systemd中运行。
# sudo systemctl status nginx
# sudo systemctl status php7.0-fpm
如果Systemd确认这两个服务都在运行,则服务器实际上应该已经启动,并且您应该能够通过导航到默认的Nginx欢迎页面来查看localhost
在浏览器中。
组态
当然,还没有准备好实际托管任何东西。需要一些配置以将Nginx指向一些实际内容并提高安全性。 Nginx配置文件的根目录位于/etc/nginx
。值得庆幸的是,Ubuntu已经有一些默认设置,这些配置使配置过程更加容易。
Nginx.conf
Nginx的主要配置文件是nginx.conf
。在您选择的文本编辑器中打开它。它需要root权限,因此像Vim这样的基于文本的编辑器可能是最好的。默认配置几乎是正确的。显然,可以采取一些措施来提高系统速度和安全性,但是其中大多数都超出了本基础教程的范围。如果您想提高性能,则注释的Gzip选项将有助于压缩并可以加快处理速度。在安全方面,添加以下三行将有助于防止恶意活动。
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
(adsbygoogle = window.adsbygoogle || [])。push({});
网站配置
添加行后,保存并退出。 Nginx根目录中有两个文件夹,sites-available
和sites-enabled
。sites-available
存储站点配置。sites-enabled
包含指向以下配置文件的符号链接sites-available
。这样,启用和禁用站点就像创建和删除符号链接一样简单。
使用文本编辑器在以下位置创建文件/etc/nginx/sites-available/yoursite
。该文件将包含新PHP 7网站的任何site-specific配置。下面的示例在注释中细分了每一行的功能。这是相当基本的配置,但可以完成工作。
server {
#Nginx should listen on port 80 for requests to yoursite.com
listen 80;
server_name yoursite.com;
#Create access and error logs in /var/log/nginx
access_log /var/log/nginx/yoursite.access_log main;
error_log /var/log/nginx/yoursite.error_log info;
#Nginx should look in /var/www/yoursite for your website
root /var/www/yoursite/;
#The homepage of your website is a file called index.php
index index.php;
#Specifies that Nginx is looking for .php files
location ~ \.php$ {
#If a file isn’t found, 404
try_files $uri =404;
#Include Nginx’s fastcgi configuration
include /etc/nginx/fastcgi.conf;
#Look for the FastCGI Process Manager at this location
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
}
创建该文件后,将其保存并移至sites-enabled
目录。从那里,创建符号链接回到刚刚创建的文件。
# cd /etc/nginx/sites-enabled
# sudo ln -s /etc/nginx/sites-available/yoursite
PHP.ini安全
安全性是一个不断变化的目标,不可能随时应对所有可能的威胁,但是始终最好锁定所有新服务器的安装始终是一个好主意。您可以对广告进行一些简单的调整php.ini
有助于保护PHP安全的配置文件。使用您的文本编辑器,打开/etc/php/7.0/fpm/php.ini
。这是一个巨大的文件。同样,Vim或具有搜索功能的东西可能是最好的。
第一次发现disable_functions
并添加phpinfo,system,mail,exec
到已经存在的函数字符串的末尾。然后找到file_uploads
并将其设置为Off
。接下来,找到sql.safe_mode
并切换On
。最后找到allow_url_fopen
并将其设置为Off
。在关闭文件之前,在末尾再添加一行。
register_globals = Off
完成后,保存并关闭。重新启动服务器,它应该已经准备就绪。
# sudo systemctl restart php7.0-fpm
# sudo systemctl restart nginx
接下来要去哪里
就目前而言,Ubuntu服务器应该能够运行大多数PHP网站。放置在/var/www/yoursite
将由服务器运行。它将寻找index.php
首先提交文件,网站可以在那里分出表格。当然,在速度,安全性以及几乎任何特殊情况下,配置PHP和Nginx还有很多事情要做,但是现在您有了一个很好的起点。