gpt4 book ai didi

Ununtu服务器安装Nginx与PHP

转载 作者:我是一只小鸟 更新时间:2023-04-14 22:31:10 34 4
gpt4 key购买 nike

Ununtu服务器安装Nginx与PHP

1. 安装Nginx:

1.1

                        
                          sudo apt update
sudo apt install nginx

                        
                      

验证结果,使用命令:

                        
                          sudo systemctl status nginx

                        
                      

若有结果如下则说明成功:

image

但注意,此时只是在服务器上配置好了nginx,执行 nginx -v 应当可以看到版本号。此外,如果对nginx更新了配置,如增加了PHP解释,则应当重启nginx服务器:

                        
                          sudo systemctl restart nginx

                        
                      

1.2

但是从外界还是无法访问,所以我们还需要配置防火墙,使用UFW防火墙管理工具可以轻松完成:

安装UFW:

                        
                          sudo apt-get install ufw -y

                        
                      

启动UFW服务:

                        
                          sudo ufw enable

                        
                      

(或者相反的,也可以关闭/重置防火墙,下面命令不在安装流程内,不要执行) 。

                        
                          sudo ufw disable
sudo ufw reset

                        
                      

!注意:一定要先开启ssh端口的开放,不然下次连接就G了!!!连不上了!!! 。

                        
                          sudo ufw allow 22

                        
                      

启动服务后,需要配置防火墙,使得局域网内其他IP地址可以访问服务器的 HTTP( 80 )和 HTTPS( 443 )端口 。

                        
                          sudo ufw allow 'Nginx Full'

                        
                      

验证状态:

                        
                          sudo ufw status

                        
                      

成功则会如下所示:

测试连通性:

在本地浏览器输入服务器IP地址,默认使用http端口,即可访问nginx默认界面:

image

2. 安装PHP:

PHP是服务端经常使用的编程语言,命令只需一行:

                        
                          sudo apt install php-fpm

                        
                      

一旦安装完成,FPM 服务将会自动启动。想要检查服务状态,运行(这里安装的是7.4版本,可以使用命令 php -v 查看,将7.4改成实际安装版本即可):

                        
                          sudo systemctl status php7.4-fpm

                        
                      

image

还可以安装mysql扩展,以便使得PHP可以做数据库相关操作:

                        
                          sudo apt install php-mysql

                        
                      

安装后也需要重启PHP-FPM服务,以确保新更新被运行:

                        
                          sudo systemctl restart php7.4-fpm

                        
                      

3. Nginx的相关配置

3.1

创建文件: sudo vim /etc/nginx/php-fpm74.conf ,写入如下内容:

                        
                          location ~ .*\.php$ {
        fastcgi_pass 127.0.0.1:9004;
        fastcgi_param PHP_SELF  $uri;
        fastcgi_param SERVER_NAME  $host;
        fastcgi_param SCRIPT_FILENAME   $document_root$fastcgi_script_name;
        fastcgi_index index.php;
        include fastcgi_params;
        include php_cgi.conf;
}

                        
                      

fastcgi_pass 127.0.0.1:9004代表要将信息通过9004端口传递给php-fpm处理,2~6行都是定义的变量,7,8行是include的两个文件.

3.2

创建文件: sudo vim /etc/nginx/php_cgi.conf ,写入如下内容:

                        
                          fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;

                        
                      

3.3

创建文件: sudo vim /etc/nginx/conf.d/www.conf ,写入如下内容:

                        
                          server {
        server_name 210.45.124.82;
        index index.php;
        root /opt/www;
        include php-fpm74.conf;
}

                        
                      

进入/opt目录,新建www目录,这个目录就是默认网站的页面所在的目录了:

                        
                          cd /opt
sudo mkdir www

                        
                      

4. php-fpm的相关配置

创建文件: sudo vim /etc/php-fpm.d/www.conf ,(注意这个地方写的位置需要自己注意一下,我的安装位置是/etc/php/7.4/fpm,里面有这样四个文件或目录:conf.d php-fpm.conf php.ini pool.d,php-fpm.conf即主配置文件,其中有一句这样的语句: include=/etc/php/7.4/fpm/pool.d/*.conf ,意思是导入以conf结尾的文件配置,所以我的文件位置在这个地方 /etc/php/7.4/fpm/pool.d/www.conf ),写入如下内容:

                        
                          [global]
pid = run/php-fpm.pid
error_log = log/error.log
[www]
listen = 127.0.0.1:9004
user = www-data
group = www-data
pm = static
pm.max_children = 5
rlimit_files = 20000
request_terminate_timeout = 10
pm.max_requests = 20000

                        
                      

user,group也需要自定义化,打开文件 /etc/nginx/nginx.conf ,看第一行 user www-data ,需与此值相同.

image

5. 重启服务,更新配置:

                        
                          sudo systemctl restart nginx php7.4-fpm

                        
                      

也可以将两个服务加入开机服务(disable取消):

                        
                          sudo systemctl enable nginx php7.4-fpm

                        
                      

6. 测试文件

回到/opt/www目录,创建文件: sudo vim info.php 。

                        
                          <?php
phpinfo();
?>

                        
                      

然后在浏览器输入:ServerIP/info.php即可看到 。

7.可能错误排查

查看错误日志 。

                        
                          // nginx
tail /var/log/nginx/error.log
// php
systemctl status php7.4-fpm.service

                        
                      

错误1 :403,无文件或者权限不足 无文件问题根据3.3节设置的index去看对应的文件夹是否有文件 权限不足问题,则需要文件所有者账户将index的对应文件夹提权:sudo chmod R 777 /opt/www 错误2 :503 gateway error,一般是php-fpm配置出错,需注意配置文件不要写错位置(要自己找安装位置,一般在/etc或者/usr/local/etc中并且要从主配置文件顺藤摸瓜,找到include的文件位置,并在相应位置创建),另外配置listen端口一定需与nginx的pass端口相同.

最后此篇关于Ununtu服务器安装Nginx与PHP的文章就讲到这里了,如果你想了解更多关于Ununtu服务器安装Nginx与PHP的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com