在OpenSUSE Leap 42.1上安装LEMP堆栈(Nginx,MariaDB,PHP)
在本教程中,我们将学习如何在OpenSUSE Leap 42.1上安装LEMP堆栈(Nginx,MariaDB和PHP)。 您会发现此过程与在Debian,Fedora或CentOS上安装LEMP堆栈有些不同。 在特殊情况下,我们必须设置SuSE防火墙以允许Internet用户访问端口80。因此,事不宜迟,让我们开始吧。
步骤1:安装Nginx Web服务器
Nginx的 [engine x] 是由Igor Sysoev编写的HTTP服务器和IMAP / POP3代理服务器。 它已经在许多重载的俄罗斯站点上运行了很多年。
运行以下命令以在OpenSUSE Leap 42.1上安装Nginx
sudo zypper install nginx
然后启动Nginx进程,并将其设置为在系统启动时自动启动。
sudo systemctl start nginx sudo systemctl enable nginx
现在创建一个 index.html 文件在 / srv / www / htdocs/网络根目录。
sudo nano /srv/www/htdocs/index.html
将以下HTML代码复制并粘贴到此文件中。
<!doctype html> <html> <body> Welcome to Nginx on OpenSUSE! </body> </html>
保存并关闭文件。 现在,在Web浏览器中,键入您的OpenSUSE Leap 42.1计算机的IP地址。 如果您是本地计算机,则将看到以下内容。
如果要在远程服务器上安装Nginx,则需要配置SuSE防火墙以允许对端口80的公共访问,因为默认情况下,它仅允许对端口80的本地访问。打开防火墙配置文件。
sudo nano /etc/sysconfig/SuSEfirewall2
找到以下行。 (这是第253行。)
FW_SERVICES_EXT_TCP=""
在引号之间添加80。
FW_SERVICES_EXT_TCP="80"
FW表示防火墙,而EXT表示外部区域(Internet)。 这个指令意味着防火墙允许外部区域访问TCP端口80,这是Nginx监听的端口。 保存并关闭文件。 然后重新启动SuSE防火墙。
sudo systemctl restart SuSEfirewall2
现在,您应该可以访问远程Web服务器了。
步骤2:配置默认服务器块
中的默认服务器块 /etc/nginx/nginx.conf 一个静态HTML网站的文件就足够了。 但是,我们将安装PHP,因此我们需要更改默认服务器的某些配置。
这是我的配置。
server { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /srv/www/htdocs/; index index.php index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /srv/www/htdocs/; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ .php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ .php$ { root /srv/www/htdocs/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
您唯一需要更改的就是取消注释与PHP相关的位置块并进行更改 /脚本 至 $ document_root。 保存并关闭文件。 然后运行Nginx配置测试。
sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
如果测试成功,请重新加载Nginx。
sudo systemctl reload nginx
步骤3:安装MariaDB
MariaDB是MySQL数据库服务器的向后兼容的嵌入式替换分支。 它包括所有主要的开源存储引擎,包括Maria存储引擎。
使用以下命令安装MariaDB:
sudo zypper install mariadb mariadb-client
然后启动MariaDB服务,并在系统启动时启用自动启动。
sudo systemctl start mysql sudo systemctl enable mysql
现在运行 mysql_secure_installation 脚本来为MariaDB root用户设置密码,删除匿名用户,禁用远程root登录并删除测试数据库。
sudo mysql_secure_installation
步骤4:安装PHP5
PHP是服务器端,跨平台的HTML嵌入式脚本语言。 运行以下命令以在OpenSUSE Leap上安装PHP5。
sudo zypper install php5-fpm
接下来,重命名/etc / php5 / fpm / php-fpm.conf.default 至 /etc/php5/fpm/php-fpm.conf。
sudo mv /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.conf
现在编辑php-fpm配置文件。
sudo nano /etc/php5/fpm/php-fpm.conf
从更改用户和组值 没有人 至 Nginx的:
user = nginx group = nginx
还可以在此文件中找到以下行。
;error_log = log/php-fpm.log
并将其更改为此:
error_log = /var/log/php-fpm.log
保存并关闭文件。 现在复制 php.ini 文件到/ etc / php5 / fpm /目录。
sudo cp /etc/php5/cli/php.ini /etc/php5/fpm/
然后编辑该文件。
sudo nano /etc/php5/fpm/php.ini
找到以下行:
;cgi.fix_pathinfo=1
并将其更改为此:
cgi.fix_pathinfo=0
保存并关闭文件。 现在启动php-fpm服务,并在系统启动时启用自动启动。
sudo systemctl start php-fpm sudo systemctl enable php-fpm
最后一步:测试PHP
在Web根目录下创建一个php文件。
sudo nano /srv/www/htdocs/test.php
复制以下文本并将其粘贴到文件中。
<?php phpinfo(); ?>
保存文件,然后重新加载Nginx。
sudo systemctl reload nginx
在您的Web浏览器中,导航到 您的服务器IP / test.php。 您将看到服务器的所有PHP信息。
恭喜! 您已在OpenSUSE Leap 42.1上成功安装了LEMP堆栈。 出于安全原因,最好从服务器中删除test.php文件,以免其他人窥视它。