Nginx (发音为“ engine x”)是一个免费的,开源的高性能HTTP服务器。Nginx以其稳定性,丰富的功能集,简单的配置和低资源消耗而著称。本教程显示了如何在具有PHP 7.2支持(通过 PHP-FPM )和MySQL支持(LEMP = L inux + nginx(发音为“ e ngine x”)+ M ySQL + P HP)的Ubuntu 18.04 LTS服务器上安装Nginx 。
先决条件
- Ubuntu 18.04 LTS服务器
- 根特权
我们要做什么?
- 安装Nginx
- 安装MySQL
- 安装PHP-FPM
- 配置Nginx和PHP-FPM
- 安装PhpMyAdmin
- 配置PhpMyAdmin
- 测试中
步骤1-安装Nginx
Nginx或引擎x是具有低内存消耗的高性能HTTP和代理服务器。Netflix,Pinterest,CloudFlare,GitHub等大多数大型网站都在使用Nginx。
在此步骤中,我们将从Ubuntu存储库中安装Nginx Web服务器。
运行下面的命令。
sudo apt install nginx -y
安装完成后,启动Nginx服务,并使其在每次系统引导时启动。
systemctl start nginx
systemctl enable nginx
Nginx安装完成。
配置防火墙
建议打开服务器上的防火墙。
将SSH和HTTP服务端口添加到防火墙配置中。
运行下面的UFW命令。
ufw allow ssh
ufw allow http
现在启动UFW防火墙,并使其在系统引导时每次启动。
ufw enable
Nginx Web服务器已启动并在UFW防火墙下运行。
第2步-安装MySQL
MySQL是由Oracle Corporation创建的最受欢迎的开源关系数据库管理系统(RDBMS)。它是LEMP Stack的核心组件,我们将从Ubuntu存储库中安装最新的MySQL版本。
使用下面的apt命令安装MySQL。
sudo apt install mysql-server mysql-client -y
MySQL安装完成后,启动MySQL服务并使其每次在系统引导时启动。
systemctl start mysql
systemctl enable mysql
并且我们已经在Ubuntu 18.04服务器上安装了MySQL 5.7。
第3步-安装PHP-FPM
PHP-FPM或FastCGI Process Manager是较旧的PHP FastCGI的替代方法,它提供了附加功能并提高了速度。它非常适合基于PHP编程语言的小型到大型站点。
在此步骤中,我们将安装PHP7.2-FPM,以及phpmyadmin所需的一些其他扩展。
使用以下命令安装PHP-FPM。
sudo apt install php7.2 php7.2-fpm php7.2-cli php7.2-curl php7.2-mysql php7.2-curl php7.2-gd php7.2-mbstring php-pear -y
现在启动PHP-FPM服务,并使其在所有安装完成后每次系统引导时启动。
systemctl start php7.2-fpm
systemctl enable php7.2-fpm
PHP7.2-FPM已在sock文件下的Ubuntu 18.04上启动并运行,请使用netstat命令对其进行检查。
netstat -pl | grep php
第4步-配置Nginx和PHP-FPM
在此步骤中,我们将配置Nginx Web服务器和PHP-FPM。
配置Nginx
转到“ / etc / nginx”配置目录,然后使用vim或nano编辑“ nginx.conf”文件。
cd /etc/nginx/
vim nginx.conf
取消注释以下几行。
keepalive_timeout 2; server_tokens off;
保存配置文件并退出编辑器。
现在编辑默认的Nginx虚拟主机文件。
vim sites-available/default
取消注释以下所示的PHP行,并更改sock文件行。
location ~ \.php$ { include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.2.0.1:9000; }
保存并退出。
测试Nginx配置并确保没有错误,然后重新启动服务。
nginx -t
systemctl reload nginx
配置PHP-FPM
转到“ /etc/php/7.2”目录并编辑“ php.ini”文件。
cd /etc/php/7.2/
vim fpm/php.ini
取消注释“ cgi.fix_patinfo”行并将其值更改为“ 0”。
cgi.fix_pathinfo=0
保存并退出。
重新加载PHP-FPM服务。
systemctl reload php7.2-fpm
至此,我们已经完成了Nginx Web服务器和PHP-FPM的配置。
步骤5-安装PhpMyAdmin
PhpMyAdmin是一个基于PHP的应用程序,用于通过Web浏览器管理MySQL或MariaDB数据库。
在此步骤中,我们将在LEMP(Linux,Nginx,MySQL和PHP-FPM)堆栈下安装并配置phpmyadmin。
使用下面的apt命令安装PHPMyAdmin。
sudo apt install phpmyadmin -y
在安装过程中,它将询问您有关phpmyadmin的Web服务器配置。
选择无选项,然后将光标移至“确定”。
对于phpmyadmin数据库配置,选择“是”。
并输入新的“ STRONG” phpmyadmin管理员,例如“ Hakaselabs001 @ #”。
重复输入“ Hakaselabs001 @ #”密码。
并且phpmyadmin安装完成。
步骤6-配置PhpMyAdmin
安装phpmyadmin之后,我们需要将phpmyadmin配置为在Nginx Web服务器下运行,并配置MySQL用户phpmyadmin的访问权限。
使用Nginx配置PhpMyAdmin
为了在Nginx Web服务器下运行phpmyadmin,我们需要将配置添加到虚拟主机配置文件中。
转到“ / etc / nginx”配置目录,然后编辑默认虚拟主机文件。
cd /etc/nginx/
vim sites-available/default
将以下phpmyadmin的Nginx配置粘贴到“服务器{…}”支架中。
location /phpmyadmin { root /usr/share/; index index.php; try_files $uri $uri/ =404; location ~ ^/phpmyadmin/(doc|sql|setup)/ { deny all; } location ~ /phpmyadmin/(.+\.php)$ { fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include snippets/fastcgi-php.conf; } }
保存并退出。
测试nginx配置,然后重新启动nginx服务。
nginx -t
systemctl reload nginx
并且我们为phpmyadmin添加了Nginx配置。
为PhpMyAdmin配置MySQL用户
在本教程中,我们将为PHPmyadmin使用非root用户MySQL用户。我们将创建一个新用户,并将该服务器内部数据库的所有特权授予该用户。
登录到MySQL Shell。
mysql -u root -p
现在,使用下面的MySQL查询创建一个新用户。
create user hakase@'localhost' identified by 'Hakaselabs001@#';
grant all privileges on *.* to hakase@'localhost' identified by 'Hakaselabs001@#';
flush privileges;
exit;
并且我们为phpmyadmin访问创建了一个新用户。
步骤7-测试
测试PHP文件
转到网络根目录“ / var / www / html”并创建一个新的phpinfo文件。
cd /var/www/html/
vim info.php
粘贴下面的phpinfo脚本。
<?php phpinfo(); ?>
保存并退出。
现在,打开Web浏览器并输入服务器IP地址,如下所示。用服务器IP替换IP。
http://192.168.33.10/info.php
以下是有关PHP服务器配置的所有信息。
测试登录PhpMyAdmin
在Web浏览器上,键入以下phpmyadmin URL(用您的服务器IP替换IP)。
http://192.168.33.10/phpmyadmin/
在phpmyadmin登录页面上,输入密码为’ Hakaselabs001 @ #’的用户’ hakase ‘,然后单击’Go’按钮。
现在,我们将看到如下所示的phpmyadmin仪表板。
LEMP Stack和PhpMyAdmin已成功安装在Ubuntu 18.04 LTS上。