Nginx 搭建 lnmp

一.编译安装Nginx

1.新建用户前期准备

官网下载nginx安装包
https://nginx.org/en/download.html
yum -y install gcc pcre-devel openssl-devel zlib-devel openssl  openssl-devel
#安装依赖包   
useradd -M -s /sbin/nologin nginx
#新建nginx用户便于管理

2.切换到/opt目录下,将下载好的包拖到/opt目录下,解压包

cd /opt/
tar zxvf nginx-1.22.0.tar.gz

3.切换到nginx-1.22.0.tar.gz下编译安装nginx

cd nginx-1.22.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module  --without-http_rewrite_module --without-http_gzip_module --with-pcremake -j2 && make install

4.将nginx做一个软链接

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

5.添加nginx系统服务

tee /lib/systemd/system/nginx.service   <<eof
[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 -1 $MAINPID
ExecStop=/bin/kill -3 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
eof

6.启动nginx服务

systemctl   start  nginx

二.编译安装mysql

1.前期准备,安装mysql依赖环境包,准备好安装包mysql-boost-5.7.20.tar.gz

创建运行用户

yum -y install gcc gcc-c++ cmake bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel   ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-develuseradd -M -s /sbin/nologin  mysql

2.切换到/opt目录下,将安装包拖到/opt目录下,解压安装包

cd /opt
tar zxvf mysql-boost-5.7.20.tar.gz

3.切换到编译安装目录,编译安装mysql

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_EXTRA_CHARSETS=all \
-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=1cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \		指定mysql的安装路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ 指定mysql进程监听套接字文件(数据库连接文件)的存储路径
-DSYSCONFDIR=/etc \                             指定配置文件的存储路径
-DSYSTEMD_PID_DIR=/usr/local/mysql \            指定进程文件的存储路径
-DDEFAULT_CHARSET=utf8  \                       指定默认使用的字符集编码,如 utf8
-DDEFAULT_COLLATION=utf8_general_ci \			指定默认使用的字符集校对规则
-DWITH_EXTRA_CHARSETS=all \						指定支持其他字符集编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \              安装INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \               安装ARCHIVE存储引擎 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \             安装BLACKHOLE存储引擎 
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \            安装FEDERATED存储引擎 
-DMYSQL_DATADIR=/usr/local/mysql/data \         指定数据库文件的存储路径
-DWITH_BOOST=/usr/local/boost \                 指定boost的路径,若使用mysql-boost集成包安装则-DWITH_BOOST=boost
-DWITH_SYSTEMD=1								生成便于systemctl管理的文件注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧make  -j2 &&  make  install

4.修改mysql配置文件

vim /etc/my.cnf
[client]
port = 3306
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
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1sql_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

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

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

6.设置路径环境变量

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

7.初始化数据库

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

8.添加mysql系统服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld

9.修改mysql的登录密码,并远程登录

mysqladmin -u root -p password "admin123" 	
给root账号设置密码为abc123,提示输入的是原始密码(为空)要求输入的是原密码直接回车即可
授权远程登录
mysql -u root -p

三.编译安装php软件

1.安装依赖环境包

yum -y install gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

2.切换到/opt目录下解压安装包

cd /opt
tar jxvf php-7.1.10.tar.bz2

3.切换到编译安装目录下,编译安装

cd php-7.1.10
./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-zipmake -j2 && make install

4.路径优化,做软链接

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

5.调整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
--1170行--修改
mysqli.default_socket = /usr/local/mysql/mysql.sock    /var/lib/mysql/mysql.sock(yum安装)
--939行--取消注释,修改
date.timezone = Asia/Shanghai

#调整进程服务配置文件:
cd /usr/local/php/etc/
cp  php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
--17行--去掉";"注释
pid = run/php-fpm.pid

#调整扩展配置文件:
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf

6.启动php-fpm

/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
netstat -anpt | grep 9000#PHP-FPM(FastCGI Process Manager:FastCGI 进程管理器)是一个 PHPFastCGI 管理器, 由于Nginx服务器不能处理动态页面,需要由 Nginx 把动态请求交给 php-fpm 进程进行解析。cd /opt/php-7.1.10/sapi/fpm
cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
systemctl restart php-fpm.service

四.配置Nginx 支持PHP解析

vim /usr/local/nginx/conf/nginx.conf
在45行后添加  index.php--65行--取消注释,修改
location ~ \.php$ {root           html;   $document_rootfastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;	#将 /scripts 修改为nginx的工作目录#fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;  #$document_root 代表当前请求在root指令中指定的值include        fastcgi_params;
}systemctl restart nginx.service验证PHP 测试页
vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>验证lnmp的是否搭建成功
验证数据库工作是否正常
mysql -u root -p
CREATE DATABASE zxy;
GRANT all ON zxy.* TO 'zxyuser'@'%' IDENTIFIED BY 'admin123';
GRANT all ON zxy.* TO 'zxyuser'@'localhost' IDENTIFIED BY 'admin123';
flush privileges;vim /usr/local/nginx/html/index.php      		#替换原来的测试页内容
<?php
$link=mysqli_connect('192.168.240.11','zxyuser','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>浏览器访问
http://192.168.240.11/index.php

五.安装论坛

【部署 Discuz!社区论坛 Web 应用】
cd /opt
unzip Discuz_X3.4_SC_UTF8.zip  
cd /opt/dir_SC_UTF8/
cp -r upload/ /usr/local/nginx/html/zxy/
调整论坛目录的权限:
cd /usr/local/nginx/html/bbs/chown -R nobody ./config/
chown -R nobody ./data/
chown -R nobody ./uc_client/
chown -R nobody ./uc_server/

论坛页面访问
http://192.168.240.11/zxy/install/index.php
----------------------------------------------------------------------------------------------------------
数据库服务器:localhost     ###本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号
数据库名字:zxy
数据库用户名:zxyuser
数据库密码:admin123
管理员账号:admin
管理员密码:admin123
----------------------------------------------------------------------------------------------------------
安装完后访问论坛页面:
http://192.168.240.11/zxy/index.php
http://192.168.240.11/zxy/admin.php

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/27549.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动控制理论---线性时不变系统的单位脉冲响应

1、实验设备 PC计算机1台&#xff0c;MATLAB软件1套。 2.实验目的&#xff1a; 学习并理解线性时不变系统的单位脉冲响应的计算方法。掌握MATLAB编程&#xff0c;计算整个系统的单位脉冲响应。 3.实验原理说明&#xff1a; 单位脉冲响应是指在输入信号为单位脉冲序列时&am…

酷开科技丨酷开系统大屏游戏新体验,夏日宅家娱乐新方案

随着夏日的临近&#xff0c;人们开始寻找各种方式来打发炎热天气中的空闲时间。不论是与朋友们聚会、追剧&#xff0c;还是与队友们一起沉浸在游戏中&#xff0c;酷开科技都能为你提供好的解决方案。如果你也渴望在家中享受激情四溢的游戏对战&#xff0c;那么酷开系统将是你的…

[Java基本语法] 继承与多态

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏:&#x1f355; Collection与数据结构 (92平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 &#x1f9c0;线程与…

【LeetCode:2786. 访问数组中的位置使分数最大 + 递归 + 记忆化缓存 + dp】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

家用RJ45水晶头可以用在工业互联网中?

工业互联网作为智能制造的核心组成部分&#xff0c;已经在工业领域快速发展。在建立连接不同设备和系统的复杂网络中&#xff0c;网络设备和连接器的选择变得至关重要。其中&#xff0c;普遍使用的RJ45水晶头和网线在家庭和小型商业网络中被广泛采用&#xff0c;但是否适用于工…

Flink作业执行之 3.StreamGraph

Flink任务如何跑起来之 3.StreamGraph 1. StreamGraphGenerator 在前文了解Transformation和StreamOperator后。接下来Transformation将转换成StreamGraph&#xff0c;即作业的逻辑拓扑结构。 在env.execute()方法中调用getStreamGraph方法生成StreamGraph实例。StreamGraph…

OPPO-HR面笔记

HR面 自我介绍&#xff1a; 尊敬的面试官&#xff0c;您好&#xff01;非常荣幸能够拥有这次机会。我叫周俊&#xff0c;来自西南大学信息管理与信息系统专业&#xff0c;目前是一名准大三学生。&#xff1a; 第一&#xff0c;在自主学习能力方面&#xff0c;我每日都在Android…

如何在 ASP.NET Core Web Api 项目中应用 NLog 写日志?

前言 昨天分享了在 .NET Core Console 项目中应用 NLog 写日志的详细例子&#xff0c;有几位小伙伴私信说 ASP.NET Core Web Api 项目中无法使用&#xff0c;其实在 ASP.NET Core Web Api 项目中应用 NLog 写日志&#xff0c;跟 .NET Core Console 项目是有些不一样的&#xf…

如何确保数据跨域交换安全、合规、可追溯性?

数据跨域交换是指在不同的组织、系统或网络之间进行数据的传输和共享。随着数字经济的发展&#xff0c;数据跨域交换在促进数据流通和创新融合方面发挥着重要作用。然而&#xff0c;这一过程也面临着诸多挑战和风险&#xff0c;例如数据安全、合规性、完整性以及责任不清晰等问…

elasticsearch快照生成与恢复

Elasticsearch快照生成与恢复的场景主要涉及到数据的备份与恢复需求。当需要对Elasticsearch集群中的数据进行备份&#xff0c;或者在数据丢失、损坏等情况下需要恢复数据时&#xff0c;就可以使用快照功能。 快照生成的方法通常包括以下步骤&#xff1a; 1、创建一个快照仓库…

Day41 - Day45

Day41 - Day45 Day41&#xff08;2000年Text4&#xff09; With economic growth has come centralization; fully 76 percent of Japan’s 119 million citizens live in cities where community and the extended family have been abandoned in favor of isolated, two-gen…

opencv中的图像操作

图像操作 输入输出 从文件中加载图像&#xff1a; Mat img imread(filename); // 读取灰度图Mat img imread(filename, IMREAD_GRAYSCALE);保存图像&#xff1a; imwrite(filename,img);文件的格式由其扩展名决定。 使用cv::imdecode和cv::imencode从/到内存读取和写入图像…

Web前端、后端与建站:全方位解析四大基石、五大挑战、六大技术与七大策略

Web前端、后端与建站&#xff1a;全方位解析四大基石、五大挑战、六大技术与七大策略 在当今数字化时代&#xff0c;Web前端、后端以及建站技术已经成为构建现代网站和应用不可或缺的关键要素。本文将从四个方面探讨Web前端与后端的基础&#xff0c;从五个方面分析建站过程中的…

docker镜像是什么意思,如何通俗点的解释一下

Docker镜像&#xff08;Docker Image&#xff09;可以通俗地理解为一个包含应用程序及其运行环境的“模版”或“快照”。这些镜像是应用程序在Docker容器中运行的基础。以下是一个更详细的解释&#xff1a; 通俗解释 软件快照&#xff1a;想象你有一个操作系统、几个软件和一些…

顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-通话时长限制

文章目录 前言联系我们场景运用机器人场景普通通话场景 前言 顶顶通呼叫中心中间件限制通话时长有两种写法&#xff0c;分别作用于机器人场景与普通通话场景。 普通场景可分为分机互打、分机外呼手机等。 联系我们 有意向了解呼叫中心中间件的用户&#xff0c;可以点击该链接…

linux shell实现端口查询

需求&#xff1a; 查找22端口请求数最高的前 20个IP地址&#xff0c;判断中间最小的请求数是否大于10&#xff0c;如大于10&#xff0c;则输出系统活动情况报告到/tmp/sar.txt&#xff0c;如果没有&#xff0c;则在 600s 后重试&#xff0c;直到有输出为止。 实现&#xff1a…

SAP Build 2-PDF数据提取与决策

0. 安装desktop agent 在后续过程中发现要预先安装desktop agent&#xff0c;否则没法运行自动化流程… 0.1 agent下载 参考官方文档说明 https://help.sap.com/docs/build-process-automation/sap-build-process-automation/create-user-in-rbsc-download-repository?loca…

RabbitMQ安装配置,封装工具类,发送消息及监听

1. Get-Started docker安装rabbitmq 拉取镜像 [rootheima ~]# docker pull rabbitmq:3.8-management 3.8-management: Pulling from library/rabbitmq 7b1a6ab2e44d: Pull complete 37f453d83d8f: Pull complete e64e769bc4fd: Pull complete c288a913222f: Pull complet…

代码随想录算法训练营day8| 344. 反转字符串,541. 反转字符串II,卡码网:54.替换数字

代码随想录 1、344. 反转字符串【简单】 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1&#xff1a; 输入&…

C# Winform Chart图表使用和详解

Chart控件是微软自带的一种图形可视化组件&#xff0c;能展示种类丰富的图表形式。如曲线图&#xff0c;折线图&#xff0c;饼状图&#xff0c;环形图&#xff0c;柱状图&#xff0c;曲线面积图。 实例代码链接&#xff1a;https://download.csdn.net/download/lvxingzhe3/8943…