当前位置: 代码网 > it编程>数据库>Oracle > Centos7下构建LNMP平台全过程

Centos7下构建LNMP平台全过程

2025年09月22日 Oracle 我要评论
一、准备环境环境[root@localhost ~]# cat /etc/centos-release //发行版本centos linux release 7.6.1810 (core)[root

一、准备环境

环境

[root@localhost ~]# cat /etc/centos-release  //发行版本
centos linux release 7.6.1810 (core)
[root@localhost ~]# uname -r    //内核
3.10.0-957.el7.x86_64

源码包

[root@localhost opt]# ls
discuz_x3.4_sc_utf8.zip  mysql-boost-5.7.20.tar.gz  nginx-1.15.9.tar.gz  php-7.1.10.tar.bz2  rh
[root@localhost opt]# 

二、搭建lnmp

1.编译安装nginx

1.1 下载安装nginx所需依赖包

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

1.2 添加用户

nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限,增加灵活性、降低安全风险

[root@localhost ~]# useradd -m -s /sbin/nologin nginx

1.3 编译安装

[root@localhost ~]# cd /opt/nginx-1.15.9/
[root@localhost ~]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[root@localhost ~]# make && make install

1.4 路径优化

为了使nginx服务器的运行更加方便,可以为主程序nginx创建链接文件,以便管理员直接执行“nginx"命令就可以调用nginx的主程序

[root@localhost ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/     //加入环境变量

1.5 检查配置文件

[root@localhost ~]# 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
[root@localhost ~]# 

1.6 开启服务

2.编译安装mysql

2.1 下载安装mysql所需依赖包

[root@localhost ~]# yum -y install ncurses ncurses-devel bison cmake

2.2 添加用户

[root@localhost ~]# useradd -s /sbin/nogin mysql

2.3 编译安装

[root@localhost ~]# 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 -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
[root@localhost mysql-5.7.20]# make && make install

2.4 递归修改文件属主和属组

[root@localhost mysql-5.7.20]# chown -r mysql:mysql /usr/local/mysql

2.5 修改配置文件

[root@localhost mysql-5.7.20]# vim /etc/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]			#以后对msq1配置时更多的会针对于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集群中用于标识mysq1服务器
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		 ##模块,默认加载

[root@localhost mysql-5.7.20]# chown mysql:mysql /etc/my.cnf

2.6 配置环境变量

[root@localhost bin]# echo 'path=/usr/local/mysql/bin:/usr/local/mysql/lib:$path' >> /etc/profile
[root@localhost bin]# echo 'export path' >> /etc/profile
[root@localhost bin]# source /etc/profile

2.7 初始化数据库

[root@localhost bin]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

2.8 开启服务

[root@localhost mysql]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system   //mysql自带控制脚本,直接复制到系统服务文件夹中
[root@localhost mysql]# systemctl start mysqld   //开启服务
[root@localhost mysql]# netstat -antp | grep 3306   //查看状态
tcp6       0      0 :::3306                 :::*                    listen      95872/mysqld 

2.9 修改mysql数据库密码

[root@localhost mysql]# mysqladmin -uroot -p password 
enter password:   //初始无密码,直接回车
new password: 
confirm new password: 
warning: since password will be sent to server in plain text, use ssl connection to ensure password safety.
[root@localhost mysql]# 

3.编译安装php

3.1 下载安装php所需依赖包

[root@localhost mysql]# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

3.2 编译安装

[root@localhost php-7.1.10]# cd /opt/php-7.1.10/
[root@localhost 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
[root@localhost php-7.1.10]# make && make install


3.3 修改配置文件

[root@localhost ~]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@localhost ~]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

取消注释,让其可运行

3.4 修改核心配置文件

[root@localhost ~]# cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini
[root@localhost ~]# vim /usr/local/php/lib/php.ini

3.5 启动php

[root@localhost ~]# /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
[root@localhost ~]# netstat -antp | grep 9000
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               listen      104224/php-fpm: mas 
[root@localhost ~]#

3.6 让nginx支持php

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

3.7 重启nginx,查看服务

总结

lnmp与lamp相比,由nginx代替了apache,php在lamp中只是作为后台程序运行,在lnmp中开启了pid功能,以9000端口的方式运行起来

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com