本文介绍在Ubuntu 18.04 Server操作系统中安装LEMP的方法,采用Nginx、MariaDB、PHP7.2。如果你还没有安装Ubuntu 18.04 Linux请参考Ubuntu-18.04.1-live-server-amd64.iso安装全过程。
一、更新软件包 在我们安装LEMP之前,最好在Ubuntu 18.04中运行以下命令来更新存储库和软件包: sudo apt update sudo apt upgrade
二、安装Nginx Web服务器 Nginx是一款高性能的网络服务器,如今非常受欢迎,它还可以用作反向代理和缓存服务器,输入以下命令以安装Nginx Web服务器: sudo apt install nginx 安装完成后,我们可以通过运行以下命令在启动Ubuntu时启用Nginx自动启动: sudo systemctl enable nginx 然后使用以下命令启动Nginx: sudo systemctl start nginx 现在查看它的状态: systemctl status nginx 输出信息:
Enabled表示启动时自动启动,我们可以看到Nginx正在运行。请注意,上面的命令在运行后不会立即退出,需要按q键才能退出。 检查Nginx版本可以运行以下命令: nginx -v 现在,在浏览器地址栏中输入Ubuntu 18.04服务器的公共IP地址,可以看到欢迎使用Nginx网页,这意味着Nginx Web服务器正常运行,如果要在本地Ubuntu 18.04计算机上安装LEMP,请在浏览器地址栏中键入127.0.0.1或localhost。 请注意,某些云服务器提供商可能会默认阻止所有传入流量,因此如果你的浏览器无法连接到Nginx Web服务器,则需要在控制面板中设置防火墙规则:
最后,我们需要将www-data(Nginx用户)作为web目录的所有者,默认情况下,它由root用户拥有: sudo chown www-data:www-data /usr/share/nginx/html -R
三、安装MariaDB数据库(参考文章) 请参考下面两篇文章安装MariaDB: 1、在Ubuntu 18.04系统上安装MariaDB 10.4的步骤 2、在Ubuntu 18.04 Server中安装LAMP的方法[Apache、MariaDB、PHP7.2] 注:安装方法跟参考文章2一样,请转到该文章中查看,当然也可以安装MariaDB 10.4版本或者是MySQL数据库,可以看以图解的方式在Ubuntu 18.04.1中安装mysql数据库一文。
四、安装PHP7.2 PHP7.2包含在Ubuntu 18.04存储库中,输入以下命令来安装php7.2和一些常用扩展: sudo apt install php7.2 php7.2-fpm php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl 像WordPress这样的内容管理系统通常需要PHP扩展,例如,如果安装缺少php7.2-xml,那么一些WordPress网站页面可能是空白的,你可以在Nginx错误日志中找到错误,如: PHP message: PHP Fatal error: Uncaught Error: Call to undefined function xml_parser_create() 安装这些PHP扩展可确保你的CMS顺利运行,现在开始php7.2-fpm: sudo systemctl start php7.2-fpm 启动时启用自动启动: sudo systemctl enable php7.2-fpm 检查状态: systemctl status php7.2-fpm 输出信息如下:
如果要安装PHP 7.3版本就参考在Ubuntu 18.04或CentOS 7系统上安装PHP 7.3一文。
五、创建Nginx Server Block Nginx Server Block就像Apache中的虚拟主机,我们不会使用默认server block,因为它不足以运行PHP代码,因此,请运行以下命令,删除启用了站点的目录中的默认符号链接:(它仍可用作/etc/nginx/sites-available/default。) sudo rm /etc/nginx/sites-enabled/default 然后在/etc/nginx/conf.d/目录下创建一个全新的Server Block文件。 sudo nano /etc/nginx/conf.d/default.conf 将以下文本粘贴到文件中,以下代码片段将使Nginx在IPv4端口80和IPv6端口80上侦听一个包含所有服务器的名称: server { listen 80; listen [::]:80; server_name _; root /usr/share/nginx/html/; index index.php index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include snippets/fastcgi-php.conf; } location ~ /\.ht { deny all; } } 保存并关闭文件,然后测试Nginx配置: sudo nginx -t 如果测试成功,请重新加载Nginx: sudo systemctl reload nginx
六、测试PHP 要使用Nginx Web服务器测试PHP-FPM,我们需要在文档根目录中创建一个info.php文件: sudo nano /usr/share/nginx/html/info.php 将以下PHP代码粘贴到文件中: <?php phpinfo(); ?> 保存并关闭文件,然后在浏览器地址栏中输入server-ip-address/info.php,将sever-ip-address替换为你的实际IP,如果在本地计算机上按照本文操作,请输入127.0.0.1/info.php或localhost/info.php。 现在应该可以看到服务器的PHP信息,这意味着PHP脚本可以使用Nginx Web服务器正常运行了:
这个时候建议运行sudo rm /usr/share/nginx/html/info.php命令删除info.php文件,以使得服务器更加的安全可靠。 至此,在Ubuntu 18.04 Server中安装LEMP全部完成了。
相关主题 |