当前位置: 首页 > news >正文

deepin Ubuntu/Debian系统 环境下安装nginx,php,mysql,手动安装,配置自己的项目

本文基本上是根据 通义千问 给出的答案,然后一步步调试而出的。
一、环境准备
1.:更新系统

sudo apt update 
sudo apt upgrade -y

2: 安装基础依赖

sudo apt install build-essential wget libpcre3-dev zlib1g-dev libssl-dev libxml2-dev libsqlite3-dev libbz2-dev libcurl4-openssl-dev libpng-dev libjpeg-dev libfreetype6-dev libonig-dev git -y

二、手动编译安装 Nginx
1:下载 Nginx 源码

cd /usr/local/src
wget https://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0

2:编译配置

./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/local/sbin/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_realip_module \
--with-stream \
--with-stream_ssl_module

3: 编译并安装

make && sudo make install

4:创建启动脚本(systemd)

sudo tee /etc/systemd/system/nginx.service << 'EOF'
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target[Service]
Type=forking
ExecStartPre=/usr/local/sbin/nginx -t
ExecStart=/usr/local/sbin/nginx
ExecReload=/usr/local/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target
EOF

5: 启用并启动 Nginx

sudo systemctl daemon-reexec
sudo systemctl enable nginx
sudo systemctl start nginx

6:验证

curl http://localhost
# 应该返回 Nginx 默认页面内容

三、手动编译安装 PHP(以 PHP 8.2 为例,版本可以自己选择)
1: 下载 PHP 源码

cd /usr/local/src
wget https://www.php.net/distributions/php-8.2.12.tar.gz
tar -zxvf php-8.2.12.tar.gz
cd php-8.2.12

2:编译配置

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--with-openssl \
--with-zlib \
--enable-bcmath \
--with-bz2 \
--with-curl \
--enable-exif \
--enable-intl \
--enable-mbstring \
--enable-pcntl \
--enable-sockets \
--enable-soap \
--with-pdo-mysql \
--with-mysqli \
--with-gd \
--with-jpeg \
--with-freetype \
--with-gettext \
--enable-opcache

3:编译安装

make && sudo make install

4: 复制配置文件

sudo cp php.ini-production /usr/local/php/etc/php.ini
sudo cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
sudo cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

5:创建用户(用于运行 PHP-FPM)

sudo useradd -r -s /sbin/nologin www-data

6:创建 systemd 服务

sudo tee /etc/systemd/system/php-fpm.service << 'EOF'
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target[Service]
Type=simple
PIDFile=/usr/local/php/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
Restart=always[Install]
WantedBy=multi-user.target
EOF

7:启动 PHP-FPM

sudo systemctl enable php-fpm
sudo systemctl start php-fpm

四、安装 MySQL / MariaDB(推荐 MariaDB 源码安装)
1: 下载 MariaDB 源码

cd /usr/local/src
wget https://downloads.mariadb.org/interstitial/mariadb-10.11.2/source/mariadb-10.11.2.tar.gz
tar -zxvf mariadb-10.11.2.tar.gz
cd mariadb-10.11.2

这种方法下载如果网速慢,每次会下载到一半多就会自动停止,我选择是在浏览器下载(停止可以在继续下载,)
https://archive.mariadb.org/mariadb-10.11.2/source/ 这个网站选择 (mariadb-10.11.2.tar.gz )下载,下载完成后复制到目录 /usr/local/src下。然后按照上面的命令执行

2:安装 CMake(用于编译)

sudo apt install cmake -y

3: 安装 Boost(MariaDB 需要)

wget https://sourceforge.net/projects/boost/files/boost/1.75.0/boost_1_75_0.tar.gz
sudo tar -xzf boost_1_75_0.tar.gz -C /usr/local/
sudo mv /usr/local/boost_1_75_0 /usr/local/boost

4:编译配置 MariaDB

sudo cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DENABLED_PROFILING=1 \
-DWITH_BOOST=/usr/local/boost

这一步我运行提示报错:

cmake: ./src/unix/process.c:951: uv_spawn: Assertion `!(options->flags & ~(UV_PROCESS_DETACHED | UV_PROCESS_SETGID | UV_PROCESS_SETUID | UV_PROCESS_WINDOWS_HIDE | UV_PROCESS_WINDOWS_HIDE_CONSOLE | UV_PROCESS_WINDOWS_HIDE_GUI | UV_PROCESS_WINDOWS_VERBATIM_ARGUMENTS))' failed.
已放弃

解决办法:卸载掉cmake,然后用源码重新安装了一遍。
4.1:彻底重装系统 CMake

sudo rm /usr/bin/cmake /bin/cmake

4.2: 重新安装 CMake(使用包管理器)

cd /tmp
wget https://github.com/Kitware/CMake/releases/download/v3.26.4/cmake-3.26.4-linux-x86_64.tar.gz
(因为我本地速度慢,使用的是 curl下载的。
curl -L -O https://github.com/Kitware/CMake/releases/download/v3.30.2/cmake-3.30.2-linux-x86_64.tar.gz
)
tar -zxf cmake-3.26.4-linux-x86_64.tar.gz
sudo cp cmake-3.26.4-linux-x86_64/bin/cmake /usr/bin/cmake
sudo chmod +x /usr/bin/cmake

4.3: 验证安装

file /usr/bin/cmake
输出:ELF 64-bit LSB pie executable, x86-64, ...(正确)

4.4:再次运行 MariaDB 配置

cd /usr/local/src/mariadb-10.11.2
rm -rf CMakeCache.txt CMakeFiles/sudo /usr/bin/cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DENABLED_PROFILING=1 \
-DWITH_BOOST=/usr/local/boost

5.:编译安装

make -j$(nproc) && sudo make install

6.:初始化数据库

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
sudo chown -R mysql:mysql /usr/local/mysql
# 初始化
sudo /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
# 启动
sudo /usr/local/mysql/support-files/mysql.server start

7.:设置开机启动

sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
sudo chmod +x /etc/init.d/mysql
sudo chkconfig --add mysql  # CentOS
# 或使用 systemd(略复杂,可后续配置)

8.:安全设置

sudo /usr/local/mysql/bin/mysql_secure_installATION

五、配置 Nginx + PHP 运行你的项目
1: 创建项目目录

sudo mkdir -p /var/www/html/myproject(/var/www/html/ 是你存放本地项目的目录,自己随便修改)
sudo chown -R www-data:www-data /var/www/html

2:上传你的项目文件到 /var/www/html/
3:配置 Nginx 虚拟主机
项目地址要根据自己本地的去修改,

sudo tee /usr/local/nginx/conf.d/inner-cusser.conf << 'EOF'
server {listen 80;server_name inner-cusser.local;root /home/user/xiangmu/weiyun-inner-service/cusser/web;index index.php index.html;location / {try_files $uri $uri/ /index.php?$query_string;}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;}
}
EOF

4:在 /usr/local/nginx/nginx.conf 文件中添加 配置文件的代码

在http模块下面添加:
include       /usr/local/nginx/conf.d/*.conf;

5:在 /etc/hosts添加域名:

和上面文件中的域名要一致
127.0.0.1 inner-cusser.local

6:修改 PHP-FPM 监听地址(确保一致)
只要一样就行。

编辑 /usr/local/php/etc/php-fpm.d/www.conf:
listen = 127.0.0.1:9000重启 PHP-FPM:
sudo systemctl restart php-fpm

7:重启 Nginx

sudo /usr/local/sbin/nginx -t  # 测试配置
sudo /usr/local/sbin/nginx -s reload

8:浏览器验证

http://inner-cusser.local
http://www.dtcms.com/a/553052.html

相关文章:

  • SDC命令详解:使用set_dont_touch_network命令进行约束
  • CI/CD(三)—— 【保姆级实操】Jenkins+Docker GitLab+Tomcat 实现微服务CI/CD全流程部署
  • 20. Portals和Fragment
  • 企业网站管理wordpress必备插件
  • 数据结构之栈和队列-栈
  • 操作系统-线程
  • sward零基础学习,创建第一个知识库
  • 门户网站建设方式网站制作叫什么
  • step-ca 证书生成完整步骤指南
  • 从字节码生成看 Lua VM 前端与后端协同:编译器与执行器衔接逻辑
  • SQLite3语句以及FMDB数据存储初步学习
  • 抽奖网站怎么制作长沙人力资源招聘网
  • IntelliJ IDEA 远程断点调试完全指南
  • uniapp使用sqlite模块
  • Lua--数据文件和持久性
  • Spark SQL 解锁电商数据密码:窗口函数大显身手
  • 用R语言生成指定品种与对照的一元回归直线(含置信区间)
  • NVR(网络视频录像机)和视频网关的工作方式
  • 如何架设网站服务器网络搭建百度百科
  • opencv 学习: 04 通过ROI处理图片局部数据,以添加水印为例
  • 中小企业网站模板诚信网站平台建设方案
  • chatgpt崩溃了,gpt怎么了
  • [MySQL] 页与索引
  • 2025年AI生成PPT工具评测:以“全链路一体化服务能力”为尺,ChatPPT再登顶
  • 天津特定网站建设推广搜素引擎优化
  • 直播美颜sdk特效功能架构全解析:从图像处理到AI渲染的技术演进
  • 2025强网杯web wp
  • 超融合架构下,如何智能调度让每台虚拟机都“跑得更快”?
  • 【Web应用安全】SQLmap实战DVWA SQL注入(从环境搭建到爆库,完整步骤+命令解读)
  • 从零打造 Telegram 中文生态:界面汉化 + 中文Bot + @letstgbot 搜索引擎整合实战