Ubuntu编译安装Nginx,PHP,Nextcloud

编译安装Nginx :

## 下载对应的版本
wget http://nginx.org/download/nginx-1.18.0.tar.gz 
# 解压
tar -xvf nginx-1.18.0.tar.gz

安装Nginx扩展:

apt-get update
apt-get install  make
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
sudo apt-get install openssl 
sudo apt-get install libssl-dev

安装路径

# 解释:--sbin-path 安装的路径
# 解释:--conf-path 配置文件的路径 
# 这两个路径可以自己 自定义
sudo ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid

编译 安装

make && make install 

启动 和 停止 Nginx

# 启动:
/usr/local/nginx/./nginx
# 停止:
/usr/local/nginx/nginx -s stop

配置

此目录,就是你的 Nginx 的安装目录,也就是上面 编译命令中的 --sbin-path=/usr/local/nginx/nginx 的路径
在这里插入图片描述

需要注意的几个文件:
1.conf.d 如果没有 请自行创建 mkdir conf.d
2.nginx 启动nginx的文件 可通过 ./nginx 启动
3.nginx.conf 入口文件,或者叫做 主要配置文件

先配置 nginx.conf

vi nginx.conf 或  vim nginx.conf

在这里插入图片描述

主要是要加上 上图红色框里面的代码,是为了引入conf.d里面的配置,
图片中,最上面的 log 日志也可以打开,其他的自行百度

创建项目目录

## cd /  回到主目录,创建 root     对应的文件夹  
mkdir/www/demo/;
添加 index.php  echo phpinfo(); 浏览器测试
如 出现如下图 php 版本信息,表示nginx配置正常

在这里插入图片描述

Nginx 配置完成

编译安装 php 8.0

由于我所选用的 NextCloud 版本是25.0 ,此版本的php 最少支持的是 7.4
因此我这里选择安装的是8.0版本

下载 php 源码包

# 下载
wget https://www.php.net/distributions/php-8.0.0.tar.gz
# 解压
tar xvf php-8.0.0.tar.gz

安装必要的扩展

这里只是安装了一部分,如果有需要安装别的,可以自行安装其他

apt install pkg-config
apt install libxml2
apt install libxml2-dev
apt install libsqlite3-dev

预编译 php

# 解释: --prefix 代表 php 的安装路径,--with-config 代表配置文件目录
./configure --prefix=/usr/local/php/ --enable-debug --enable-fpm --with-config-file-path=/usr/local/php/etc/ --with-config-file-scandir=/usr/local/php/etc/php.d/

编译

make && make install 

php 配置

复制源码文件 改成 php.ini

注意 编译安装后的php 是没有 php.ini 的配置文件的,
是有 php.ini-development 文件,需要复制过去 改成 php.ini

sudo cp php.ini-development /usr/local/php/etc/php.ini

配置php-fpm命令:

cd /usr/local/php/etc/ 
cp php-fpm.conf.default php-fpm.conf

cd php-fpm.d 
cp www.conf.default www.conf

# 设置组
groupadd www
useradd -g www www
启动 停止 php

/usr/local/php/sbin/php-fpm

sudo service php8.0-fpm restart
# 停止 php 的另一种方法
ps -ef | grep php 
kill -9 端口号
启动问题

在这里插入图片描述

如果出现此报错 vi www.conf 修改成 www
在这里插入图片描述

conf.d 配置

# 进入到 conf.d 目录下
cd conf.d 
# 自行创建对应的文件,文件结尾以  .conf  结尾

这就是在 nginx.conf 中 include 中 增加的引入,我们要引入这个文件下的所有配置文件

在这里插入图片描述

以下为最基础的配置

server {
        listen       80;
        server_name  www.demo.win;
        root         /www/demo/;
        index        index.php index index.htm index.html;

        location / {
	    try_files $uri $uri/ /index.php?$args;
        }

	   location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
    	}

	   location ~ /\.ht {
            deny  all;
    	}

        #error_page 404 /404.html;
        #    location = /40x.html {
        #}

        #error_page 500 502 503 504 /50x.html;
        #    location = /50x.html {
        #}
    }

如果是本地环境的话,需要在本地的 host 文件里面 增加 server_name 的域名
浏览器中输入 配置好的域名,出现如下图所示,表示 php + Nginx 配置成功

在这里插入图片描述

编译安装 php 7.3

sudo wget https://www.php.net/distributions/php-7.3.5.tar.gz
sudo tar -zxvf php-7.3.5.tar.gz 
# 解压缩
```## 预编译
```powershell
./configure 
--prefix=/usr/local/php 
--with-fpm-user=www 
--with-fpm-group=www 
--with-config-file-path=/usr/local/php/etc 
--enable-fpm 

编译

make && make install 

# 查看是否安装成功
/usr/local/php/bin/php -v 

卸载php

输入以下命令删除与php相关的包及配置。

apt-get autoremove php7*

再输入命令删除php关联。

sudo find /etc -name "*php*" |xargs rm -rf

Ubuntu安装nextcloud

根据自己的版本去选择,包括选择php版本,下面的链接,php版本不能小于7.4 !!!

## 下载
wget https://download.nextcloud.com/server/releases/nextcloud-25.0.3.zip
## 解压
unzip nextcloud-25.0.3.zip

解压好之后,放在对应的项目访问目录 我的项目目录是 www/demo ,自行创建

## cp -r 表示此目录下的所有文件,递归复制到 XXX  目录下 
cp -r nextcloud-25.0.3 /www/demo   

如 上方 nginx 和 php 都已经安装好,并且 配置文件都配置好,那么 再 conf.d中 增加一个 xxx.conf 文件
如果是本地,加上 host 就可以访问了

访问问题:

在这里插入图片描述

这个是权限的问题,需要到你项目的根目录下,赋予权限

# chmod -R: 递归下面的所有文件
chmod -R 777 www 

在这里插入图片描述

# 需要安装对应的扩展
apt install php-zip php-mbstring php-gd php-curl
# 缺少那个 安装哪个 
# 重启 php

Linux下 Authentication failure的解决

sudo passwd root 重置以下密码就可以了

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

付煜晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值