当前位置:网站首页>LNMP搭建过程详解
LNMP搭建过程详解
2022-07-28 05:28:00 【渔火鳅】
LNMP搭建过程详解,验证搭建论坛
一、安装Nginx服务
准备工作:关闭防火墙和安全机制
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
1、安装依赖包
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
2、创建运行用户
(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)
useradd -M -s /sbin/nologin nginx
3、编译安装
cd /opt
#拖入压缩包
tar zxvf nginx-1.12.0.tar.gz -C /opt/ #解压
cd nginx-1.12.0/ #切换到路径
./configure
–prefix=/usr/local/nginx \ #指定nginx的安装路径
–user=nginx \ #指定用户名
–group=nginx \ #指定组名
–with-http_stub_status_module #启用 http_stub_status_module 模块以支持状态统计
make -j4 && make install


./configure
–prefix=/usr/local/nginx
–user=nginx
–group=nginx
–with-http_stub_status_module
4、优化路径
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #让系统识别nginx的操作命令
5、添加Nginx 系统服务
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
ExecrReload=/bin/kill -s HUP $MAINPID
ExecrStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service
6、测试页:火狐浏览器
输入本机IP:192.168.80.77

补充:启动、停止 nginx 服务
nginx -t #检查配置文件是否配置正确
nginx #启动
cat /usr/local/nginx/logs/nginx.pid #先查看nginx的PID号
kill -3 <PID号>
kill -s QUIT <PID号> #停止
killall -3 nginx
killall -s QUIT nginx
二、安装MySQL服务
1、安装Mysql环境依赖包
yum -y install
gcc
gcc-c++
ncurses \ #字符终端下图形互动功能的动态库
ncurses-devel \ #ncurses开发包
bison \ #语法分析器
cmake #mysql需要用cmake编译安装
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake
2、创建运行用户
useradd -M -s /sbin/nologin mysql
3、编译安装
cd /opt
tar zxvf mysql-boost-5.7.20.tar.gz

cd /opt/mysql-5.7.20/
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=1

make -j 4 && 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 = 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
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、添加mysqld系统服务
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 “abc123” ##给root账号设置密码为abc123,提示输入的是原始密码(为空)
10、授权远程登录
mysql -u root -p
grant all privileges on . to ‘root’@‘%’ identified by ‘abc123’;
#授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限
show databases; #查看当前已有的数据库
quit退出
三、安装配置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、编译安装
cd /opt
tar jxvf php-7.1.10.tar.bz2
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-zip
make -j4 && 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(扩展配置文件)
调整主配置文件php.ini :


调整进程服务配置文件php-fpm.conf :
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
#17行取消注释“;”
pid = run/php-fpm.pid
调整扩展配置文件www.conf :
cd /usr/local/php/etc/php-fpm.d
cp www.conf.default www.conf
5、启动php-fpm
PHP-FPM(FastCGI Process Manager:FastCGI进程管理器)是一个PHPFastCGI管理器,由于Nginx服务器不能处理动态页面,需要由Nginx把动态请求交给php-fpm进程进行解析
cd /usr/local/php/sbin/
php-fpm -c /usr/local/php/lib/php.ini
netstat -natp | grep 9000
6、配置Nginx支持PHP解析
vim /usr/local/nginx/conf/nginx.conf
##65行取消注释修改
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
#将/scripts修改为nginx的工作目录修改为/usr/local/nginx/html
include fastcgi_params;
}
systemctl restart nginx.service
7、验证PHP测试页
vim /usr/local/nginx/html/index.php
<?php phpinfo(); ?>浏览器访问:http://192.168.80.77/index.php

8、验证数据库工作是否正常
mysql -u root -p
CREATE DATABASE bbs;
GRANT all ON bbs.* TO ‘bbsuser’@‘%’ IDENTIFIED BY ‘admin123’;
flush privileges;
show databases; #查看有哪些数据库
vim /usr/local/nginx/html/index.php
<?php $link=mysqli_connect('192.168.80.77','bbsuser','admin123'); if($link) echo "wangdachu!"; else echo "fail!!" ?>[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7VForyXS-1658731635280)(C:\Users\YU\AppData\Roaming\Typora\typora-user-images\image-20220725142748517.png)]
浏览器访问:http://192.168.80.77/index.php
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iaiNWHC5-1658731635280)(C:\Users\YU\AppData\Roaming\Typora\typora-user-images\image-20220725142849510.png)]
Y ‘admin123’;
flush privileges;
show databases; #查看有哪些数据库
vim /usr/local/nginx/html/index.php
<?php $link=mysqli_connect('192.168.80.77','bbsuser','admin123'); if($link) echo "wangdachu!"; else echo "fail!!" ?>[外链图片转存中…(img-7VForyXS-1658731635280)]
浏览器访问:http://192.168.80.77/index.php
[外链图片转存中…(img-iaiNWHC5-1658731635280)]
边栏推荐
- Vmware workstation configuration net mode
- Regular execution of scratch
- FTP服务
- Which brand of air conduction earphones is better? These four should not be missed
- How to calculate the size of structure, segment and Consortium (common body)
- HDU-1097-A hard puzzle(快速幂)
- ---栈&队列---
- 技术分享 | 使用 cURL 发送请求
- How to store floating point data in memory
- DNS正向解析实验
猜你喜欢

DNS域名解析服务

NAT和PAT的原理及配置

Using C language to realize three piece chess games

Ten thousand words summarize and realize the commonly used sorting and performance comparison

技术分享 | 接口测试常用代理工具

浅谈Cookie和Session

What is the good brand of air conduction Bluetooth headset and the best brand recommendation of air conduction headset

Optimization ideas from ordinary query commodities to highly concurrent query commodities

SSH service configuration

CentOS7部署MySQL数据库服务器
随机推荐
Insertion and deletion of nodes in linked list
Array to linked list
How about air conduction Bluetooth headset? It's the most worthwhile air conduction headset to start with
DNS正向解析实验
网络——网络层
NFS 共享存储服务
How to simulate the implementation of strcpy library functions
OSI七层模型
Small tips
技术分享 | 接口测试常用代理工具
技术分享 | 服务端接口自动化测试, Requests 库的这些功能你了解吗?
技术分享 | 接口自动化测试中,如何做断言验证?
Which brand of air conduction earphones is better? These four should not be missed
设计测试用例的方法
技术分享 | 使用postman发送请求
软件测试(概念篇)
Technology sharing | detailed explanation of actual combat interface test request methods get, post
MySQL master-slave
What is the good brand of air conduction Bluetooth headset and the best brand recommendation of air conduction headset
Ubuntu18.04搭建redis集群【学习笔记】