以下是详细的攻略:
1. 安装必要的工具和软件
首先,使用apt命令安装必要的软件。在终端中输入以下命令:
sudo apt update
sudo apt install nginx php-fpm
这里我们安装了nginx和php-fpm,这两个软件是创建Web服务器应用所必需的。
2. 配置nginx
在Ubuntu中,nginx的配置文件存放在/etc/nginx目录下。首先备份默认的配置文件:
cd /etc/nginx/
sudo mv nginx.conf nginx.conf.bak
然后创建新的nginx配置文件,可以使用vim或者nano等编辑器进行编辑:
sudo vim /etc/nginx/nginx.conf
在编辑器中,复制以下代码:
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off;
server_names_hash_bucket_size 64;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
}
这是一个基本配置文件,确保nginx使用的user同PHP使用的user相同(www-data),这样就能从PHP脚本中读取/写入文件。配置文件中还包含了许多其他设置,如日志文件地址、gzip压缩等,可以根据需求进行调节。
保存并退出编辑器。
3. 配置PHP
在Ubuntu中,PHP-FPM的主配置文件存放在/etc/php/7.2/fpm/pool.d/www.conf中。根据系统版本号自行更改相应路径。
找到下列几行:
listen = /run/php/php7.2-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.allowed_clients = 127.0.0.1
确保与nginx配置文件中设置的user相同,这里是www-data。并确保listen的路径与nginx配置文件中的fastcgi_pass相同。
4. 创建默认的站点
在/etc/nginx/sites-available/目录下,创建一个新的配置文件:
sudo vim /etc/nginx/sites-available/default
配置文件内容如下:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
这里的配置文件指定站点的根目录为/var/www/html,打开站点时默认打开index.php、index.html或index.htm三个文件,其他的请求则尝试解析为PHP文件(用fastcgi_pass指定PHP-FPM监听的UNIX套接字路径)或静态文件。此处的_snippets/fastcgi-php.conf_是一个配置文件,可在ubuntu中自动配置。
5. 配置站点
使用符号链接将站点配置文件链接到sites-enabled目录,启用站点:
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
sudo systemctl restart nginx.service
这将链接配置文件到sites-enabled目录,其中任何标记为default_server的文件或配置文件都将作为默认站点。
现在,您可以打开您的 Web 浏览器,输入主机 IP 或域名,并浏览您的默认站点。
示例1. 部署WordPress网站
首先安装WordPress所需的依赖关系及库:
sudo apt-get install php-mysql
下载WordPress:
wget http://wordpress.org/latest.tar.gz
解压并移动到站点的根目录:
tar -xvf latest.tar.gz
sudo mv wordpress /var/www/html/
确保更改所有权和权限以授予Nginx对文件的访问权限:
sudo chown -R www-data:www-data /var/www/html/wordpress/
sudo chmod -R 755 /var/www/html/wordpress/
在浏览器中输入您的主机 IP 地址或域名,按照安装向导的说明完成WordPress的安装。
示例2. 部署phpMyAdmin
在/var/www/html/目录下创建phpmyadmin目录并下载解压:
sudo mkdir /var/www/html/phpmyadmin
cd /var/www/html/phpmyadmin
sudo wget -q https://files.phpmyadmin.net/phpMyAdmin/4.9.5/phpMyAdmin-4.9.5-all-languages.tar.gz
sudo tar -xzf phpMyAdmin-4.9.5-all-languages.tar.gz
sudo mv phpMyAdmin-4.9.5-all-languages/* .
sudo rm -rf phpMyAdmin-4.9.5-all-languages
创建phpMyAdmin相关的虚拟主机配置文件:
sudo vim /etc/nginx/sites-available/phpmyadmin
配置文件内容:
server {
listen 80;
listen [::]:80;
server_name _;
root /var/www/html/phpmyadmin;
index index.php index.html index.htm;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location / {
try_files $uri $uri/ =404;
}
}
将虚拟主机配置文件链接到sites-enabled目录:
sudo ln -s /etc/nginx/sites-available/phpmyadmin /etc/nginx/sites-enabled/
重启nginx服务以使配置生效:
sudo systemctl restart nginx.service
在浏览器中输入您的主机 IP 地址或域名/phpmyadmin,默认情况下,phpMyAdmin将提示您输入数据库凭据。
总结:以上是在Ubuntu Linux系统下轻松架设nginx+php服务器应用的完整攻略,其中包含两个示例:部署WordPress网站和部署phpMyAdmin。建立Web服务器需要考虑到多个因素如网络、小型设备和指令集等,这里提供的攻略已经足够实用和通用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ubuntu Linux系统下轻松架设nginx+php服务器应用 - Python技术站