LNMP架构的部署

一、安装Nginx服务

试验环境:CentOS 7.6   Nginx 1.15    关闭防火墙、核心防护

1、安装环境依赖包

Nginx 的配置及运行需要 pcre、zlib 等软件包的支持,因此应预先安装这些软件的开发
包(devel),以便提供相应的库和头文件,确保 Nginx 的安装顺利完成

[root@localhost ~]# yum -y install gcc gcc-c++ pcre-devel zlib-devel make

 2、创建运行用户、组

Nginx 服务程序认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确
地控制其访问权限,增加灵活性、降低安全风险。例如,创建一个名为 Nginx用户,不建
立宿主文件夹,也禁止登录到 Shell 环境。

[root@localhost ~]# useradd -M -s /sbin/nologin Nginx

 3、编译安装Nginx

配置Nginx的编译选项时,将安装目录设为/usr/local/Nginx,运行用户和组均设为Nginx;启用 http_stub_status_module 模块以支持状态统计,便于查看服务器的连接信息。具体选项根据实际需要来定,配置前可参考“./configure --help”给出的说明。

上传Nginx-1.15.9.tar.gz至/opt目录
[root@localhost ~]# cd /opt
[root@localhost opt]# tar xzvf Nginx-1.15.9.tar.gz 
[root@localhost opt]# cd Nginx-1.15.9/
[root@localhost Nginx-1.15.9]# 
./configure \
--prefix=/usr/local/Nginx \
--user=Nginx \
--group=Nginx \
--with-http_stub_status_module

[root@localhost Nginx-1.15.9]# make && make install

 

 

4、路径优化

为了使 Nginx 服务器的运行更加方便,可以为主程序 Nginx 创建链接文件,以便管理员
直接执行“Nginx”命令就可以调用 Nginx 的主程序(让系统可以识别)

[root@localhost Nginx-1.15.9]# ln -s /usr/local/Nginx/sbin/Nginx /usr/local/sbin/
[root@localhost Nginx-1.15.9]# ls -l /usr/local/sbin/Nginx
lrwxrwxrwx 1 root root 27 2月  28 05:17 /usr/local/sbin/Nginx -> /usr/local/Nginx/sbin/Nginx

 5、检测配置文件

与 Apache 的主程序 httpd 类似,Nginx 的主程序也提供了“-t”选项用来对配置文件进行
检查,以便找出不当或错误的配置。配置文件 Nginx.conf 认位于安装目录下的 conf/子目
录中。若要检查位于其他位置的配置文件,可使用“-c”选项来指定路径。

[root@localhost Nginx-1.15.9]# Nginx -t
Nginx: the configuration file /usr/local/Nginx/conf/Nginx.conf Syntax is ok
Nginx: configuration file /usr/local/Nginx/conf/Nginx.conf test is successful

 6、启动Nginx

直接运行 Nginx 即可启动 Nginx 服务器,这种方式将使用认的配置文件,若要改用
其他配置文件,需添加“-c 配置文件路径”选项来指定路径。需要注意的是,若服务器中已装
有 httpd 等其他 Web 服务软件,应采取措施(修改端口、停用或卸载)避免冲突。

[root@localhost Nginx-1.15.9]# Nginx 
[root@localhost Nginx-1.15.9]# netstat -anpt | grep Nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      11191/Nginx: master

 二、安装MysqL服务

1、安装MysqL环境依赖包

[root@localhost ~]# 
yum -y install \
ncurses \			#字符终端工具包  UTF-8
ncurses-devel \		
bison \				#函数库
cmake

 2、创建运行用户

(关键点:千万不要加 -M)

[root@localhost ~] useradd -s /sbin/nologin  MysqL

 3、编译安装

上传MysqL-boost-5.7.20.tar.gz到opt目录下

[root@localhost ~]cd /opt
[root@localhost opt]# tar xzvf MysqL-boost-5.7.20.tar.gz
[root@localhost opt]# cd /opt/MysqL-5.7.20/
[root@localhost MysqL-5.7.20]# 
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/MysqL \		#指定安装路径(目录)
-DMysqL_UNIX_ADDR=/usr/local/MysqL/MysqL.sock \	#指定通信文件,连接数据库,通讯协议的载体⭐⭐⭐
-DSYSconfdIR=/etc \								#配置文件目录指向/etc
-DSYstemD_PID_DIR=/usr/local/MysqL \			#指定pid目录文件
-DDEFAULT_CHARSET=utf8 \						#字符集设定
-DDEFAULT_COLLATION=utf8_general_ci \			#字符集设定
-DWITH_INNOBASE_STORAGE_ENGINE=1 \				#以下三行均为存储引擎ENGINE
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMysqL_DATADIR=/usr/local/MysqL/data \			#指定数据存放位置
-DWITH_BOOST=boost \							#底层C++运营库 独立的表空间结构
-DWITH_SYstemD=1								#守护进程id 守护进程 
——》跑在后台一个支持服务正常运行的一个特殊进程

 

[root@localhost MysqL-5.7.20]# make && make install


-注意:如果在CMAKE的过程中有报错---
        当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧
------注意:make: *** No targets specified and no makefile found. Stop.解决方法
        1、wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
        2.、tar zxvf ncurses-5.6.tar.gz
        3、 ./configure -prefix=/usr/local -with-shared-without-debug
        4、make
        5、make install

 

 4、数据库目录进行权限调整

[root@localhost MysqL-5.7.20]# chown -R MysqL:MysqL /usr/local/MysqL/

 5、调整配置文件

[root@localhost MysqL-5.7.20]# vi /etc/my.cnf
[root@localhost etc]# vim my.cnf
#删除原有内容添加以下内容
[client]					#client 用户程序
port = 3306				
default-character-set=utf8
socket = /usr/local/MysqL/MysqL.sock

[MysqL]						#MysqL 软件内容 
port = 3306					#端口
default-character-set=utf8
socket = /usr/local/MysqL/MysqL.sock

[MysqLd]					#以后对MysqL配置时 更多的会针对于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	#PID文件目录
socket = /usr/local/MysqL/MysqL.sock	#通讯文件
server-id = 1				#服务id,在之后的MysqL集群中用于标识MysqL服务器

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
#模块,认加载
#PS:跳过数据库权限验证的命令为:skip-grant-tables,忘记密码

 6、设置环境变量

echo 'PATH=/usr/local/MysqL/bin:/usr/local/MysqL/lib:$PATH' >> /etc/profile
echo 'export 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

cp usr/lib/systemd/system/MysqLd.service /usr/lib/systemd/system/

 

 8、数据库开启自启、 关闭、状态

systemctl enable MysqLd
systemctl start MysqLd
systemctl stop MysqLd
systemctl status MysqLd
netstat -anpt | grep 3306

 

 9、设置MysqL密码

MysqLadmin -u root -p password  //刚开始没密码是123空的直接回车,然后输入密码abc123,在此确认abc123,这是在root账户下运行的

MysqLadmin -u root -p password 123123

 

10、登录数据库

MysqL -u root -p     ##这个命令敲下,提示要输入密码,这个就是刚才设置的密码abc123

 

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...