首页 > 其他分享 >lnmp

lnmp

时间:2024-06-16 15:11:58浏览次数:20  
标签:-- lnmp nginx usr mysql php local

一、编译安装Nginx

1.前期准备

#安装依赖
yum -y install pcre-devel zlib-devel gcc gcc-c++ make

#创建用户
useradd -M -s /sbin/nologin nginx

#获取源码包
wget https://nginx.org/download/nginx-1.24.0.tar.gz
cd /opt 
tar xf nginx-1.24.0.tar.gz  #解压

2.开始编译安装

cd nginx-1.24.0/

#编译
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module

#安装
make -j2 && make install 
#让系统识别nginx操作命令,可以补全
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

3.添加到系统服务(systemd启动)

#新建nginx.service
vim /lib/systemd/system/nginx.service

[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target


systemctl daemon-reload 
systemctl start nginx

二、编译安装MySQL服务

1.前置准备

#依赖环境
yum -y install \
ncurses \
ncurses-devel \
bison \
cmake

#添加用户
useradd -s /sbin/nologin  mysql
将MySQL源代码包放在 /opt目录下

tar xf mysql-boost-5.7.20.tar.gz #解压

cd mysql-5.7.20

2.编译安装

#编译
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

#安装
make -j2 && make install 

3.编辑配置文件

#进入配置文件,把内容全删掉,然后加入以下内容
vim /etc/my.cnf

[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

4.更改mysql安装目录和配置文件的属主属组

chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

5.设置路径环境变量

echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile    
source /etc/profile

6.数据库初始化

cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

7.添加mysqld系统服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
#能用systemd启动
systemctl daemon-reload          刷新识别     
systemctl start mysqld.service   开启服务
systemctl enable mysqld          开机自启动

ss -natp | grep 3306        查看端口

8.修改用户mysql 的登录密码

mysqladmin -u root -p password "123abc" 

mysql -u root -p #授权远程登录

三、编译安装PHP

1.前置准备

#安装依赖环境
#安装GD库和GD库关联程序,用来处理和生成图片
yum -y install \
libjpeg \
libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 \
libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
将PHP源代码包放在 /opt目录下

tar -jxvf php-7.1.10.tar.bz2 #解压

cd /opt/php-7.1.10/

2.编译安装

#编译环境检测 功能模块添加
./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip

#安装
make -j2 && make install

3.路径优化

ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/

4.调整PHP配置文件

php有三个配置文件
php.ini            主配置文件  
php-fpm.conf    进程服务配置文件 
www.conf        扩展配置文件

调整主配置文件

cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini #模板

vim /usr/local/php/lib/php.ini #修改主配置文件

调整进程服务配置文件

cd /usr/local/php/etc/php-fpm.d/

cp www.conf.default www.conf
vim php-fpm.conf

5.启动php-fpm

/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini

ss -napt | grep 9000

cd /opt/php-7.1.10/sapi/fpm
cp php-fpm.service /usr/lib/systemd/system/php-fpm.service

systemctl restart php-fpm.service

6.配置 Nginx 支持 PHP 解析

vim /usr/local/nginx/conf/nginx.conf

systemctl restart nginx.service

7.验证PHP 测试页

#创建网页文件
vi /usr/local/nginx/html/index.php

<?php
phpinfo();
?>

#重启nginx服务
systemctl restart nginx

#在网页测试
http://192.168.100.140/index.php

四、安装论坛

1.以 root 用户身份登录到 MySQL 数据库,进行配置

mysql -u root -p 
#以 root 用户身份登录到 MySQL 数据库
mysql> CREATE DATABASE bbs;  #创建一个数据库

mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';  #把bbs数据库里面所有表的权限授予给bbsuser,并设置密码

mysql>flush privileges; #刷新数据库

2.解压Discuz源码包并配置

unzip /opt/Discuz_X3.4_SC_UTF8.zip #解压

cd /opt/dir_SC_UTF8/

#拷贝文件到数据
cp -r upload/ /usr/local/nginx/html/bbs/
#改权限 改属组属主
cd /usr/local/nginx/html/bbs/

chown -R root:nginx ./config/
chown -R root:nginx ./data/
chown -R root:nginx ./uc_client/
chown -R root:nginx ./uc_server/

chmod -R 777 ./config/
chmod -R 777 ./data/
chmod -R 777 ./uc_client/
chmod -R 777 ./uc_server/

3.安装Discuz论坛

浏览器访问
http://192.168.100.140/bbs/install/index.php

访问论坛

访问Discuz论坛
http://192.168.100.140/bbs/index.php

 

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

标签:--,lnmp,nginx,usr,mysql,php,local
From: https://www.cnblogs.com/hxqwe/p/18250625

相关文章

  • Zabbix 7.0 LTS OVF (build with LNMP based on Rocky 8.10) - VMware 虚拟机模板
    Zabbix7.0LTSOVF(buildwithLNMPbasedonRocky8.10)-VMware虚拟机模板Zabbix7.0LTS|企业级开源监控解决方案请访问原文链接:https://sysin.org/blog/zabbix-7-ovf/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgZabbix简介全方位监控获取整个IT......
  • LNMP 环境下使用 Zstd 压缩优化网站备份脚本
    网站的备份一直都是网站运营、服务器运维中很重要的一环,明月无论是在自己的服务器还是客户的代运维服务器上都是非常重视网站备份的,尤其热衷于优化网站备份这块儿,毕竟明月自己的服务器配置一直都是最低的1H1G呀,就这配置常年都是4-5个网站放着呢!明月的博客毕竟有十来年了,单......
  • LNMP网站架构部署
     目录一、LNMP架构部署(源码编译安装)①实验准备②安装nginx服务③安装mysql服务,配置文件④安装php服务,修改配置文件⑤验证静态页面测试访问动态页面测试访问调用数据库测试二、LNMP架构应用实例1.论坛网站应用①nginx服务器上传压缩包并解压 ②php服务器上修改论......
  • 在Linux中,什么是LAMP和LNMP堆栈?
    LAMP和LNMP都是用于搭建动态网站的常用软件堆栈,它们分别代表不同的组件组合,旨在提供高效、稳定的Web服务环境。下面是这两个堆栈的详细介绍:1.LAMP堆栈LAMP是一个开源软件堆栈的首字母缩写,代表Linux(操作系统)、Apache(Web服务器)、MySQL(数据库管理系统)和PHP(服务器......
  • 详细:docker手动部署lnmp以及记录遇到的问题
    一、基本思路(背景)部署时间:2024.04.25主机为deepin20.9安装好docker,从官网下载nginxphpmysql三个镜像设置并启动相应三个容器,并配置portainer二、安装docker1.如果以前安装过老版本,请先卸载以前版本sudoaptremovedockerdocker-engine2.安装docker-ce与密钥管理与下......
  • 部署LNMP环境-QQ农场
    day4.3部署LNMP环境-QQ农场1准备环境1.1准备一台新的服务器,修改主机名为qqfarm​通过命令修改:hostnamectlset-hostnameqqfa!rm​通过vim编辑hostname文件修改1.2使用远程连接工具连接服务器1.3关闭防火墙与SELinuxsystemctlstopfirewalld--nowvim/e......
  • Docker搭建LNMP环境实战(05):CentOS环境安装Docker-CE
    前面几篇文章讲了那么多似乎和Docker无关的实战操作,本篇总算开始说到Docker了。1、关于Docker1.1、什么是DockerDocker概念就是大概了解一下就可以,还是引用一下百度百科吧:Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然......
  • lnmp集群拆分
    集群拆分数据库拆分+php远程访问实践1,拆分数据库1.拆分背景,单机的各个组件,容易抢夺资源,导致服务器压力较大,拆的第一步,吧数据库拆出去测试ab命令,对网站的整体压力具体的拆分步骤1.基于以有数据的web-7开始操作导出当前数据库的数据(还得数据库锁表,防止数据写入,备份时候,......
  • 【lnmp一键安装】--php环境
    1.官网:lnmp.org 一、一键安装wgethttps://soft.lnmp.com/lnmp/lnmp2.0.tar.gz-Olnmp2.0.tar.gz&&tarzxflnmp2.0.tar.gz&&cdlnmp2.0&&./install.sh lnmp 二、若是已经安装过,如何新增PHP版本呢?1.执行命令:wgethttps://soft.lnmp.com/lnmp/lnmp2.0.tar.gz-Ol......
  • lnmp单机部署
    lnmp的协同工作流程,与动静态处理的解释图nginx和php协同工作的原理1.用户发起http请求,请求到达LNMP中的nginx2.nginx根据用户请求的url进行判断,通过location进行匹配3.locaiton判断出url是静态请求,nginx直接查找静态资源,返回响应。4.location判断出是动态请求,nginx反向......