LNMP环境搭建

如需软件包请点击此链接: https://pan.baidu.com/s/1sXNIrkGxRePshFWEIftRmg

LNMP简介

LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。

LNMP组成

Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

实验环境:RHEL7 x86-64 selinux and iptables disabled

创建一个新的虚拟机,分配尽可能大的内存,否则后续编译过程会很卡

一、Mysql 安装

#软件包依赖性

yum install -y gcc gcc-c++ make ncurses-devel bison openssl-devel zlib-devel cmake    #软件包依赖性
yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y #安装cmake 编译工具
tar zxf mysql-boost-5.7.17.tar.gz   #解压软件包

#进入解压目录

#编译安装

cd mysql-5.7.17/       
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据库存放目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \ #Unix socket 文件路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \     #安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \   #安装 innodb 存储引擎
-DDEFAULT_CHARSET=utf8 \         #使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci \ #校验字符
-DEXTRA_CHARSETS=all \  #安装所有扩展字符集
-DMYSQL_TCP_PORT=3306 \ #MySQL 监听端口
-DWITH-BOOST=boost/boost_1_59_0/ #下载boost,从MySQL 5.7.5开始Boost库是必需的

如果编译没有通过,重新编译时,需要清除旧的对象文件和缓存信息cache:
make clean
rm -f CmakeCache.txt

没有错误时:make && make install

#安装成功(安装过程会消耗大量系统资源,耐心等待...)

mysql配置

#将服务启动脚本放/etc/init.d目录下加执行权限

[root@server1 ~]# cd mysql-5.7.17/support-files/
[root@server1 support-files]# cp mysql.server /etc/init.d/mysqld
[root@server1 support-files]# cd /etc/init.d/
[root@server1 init.d]# chmod +x mysqld

#备份配置文件,编辑my-default.cnf覆盖my.cnf

[root@server1 etc]# cp my.cnf /mnt/my.cnf.bac
[root@server1 support-files]# vim my-default.cnf
 23 basedir = /usr/local/lnmp/mysql
 24 datadir = /usr/local/lnmp/mysql/data
 25 socket = /usr/local/lnmp/mysql/data/mysql.sock
[root@server1 support-files]# cp my-default.cnf /etc/my.cnf 
cp: overwrite `/etc/my.cnf'? y

目录位置即为编译时设定的路径:

-DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock
basedir 参数:该参数指定了安装 MySQL 的安装路径
datadir 参数:该参数指定了 MySQL 的数据库文件放在什么路径下
socket 参数:该参数指定了 socket 存放位置

#建mysql用户,将mysql目录所属改为mysql用户

[root@server1 ~]# groupadd -g 27 mysql
[root@server1 ~]# useradd -u 27 -g 27 mysql
[root@server1 ~]# id mysql
uid=27(mysql) gid=27(mysql) groups=27(mysql)
[root@server1 lnmp]# chown mysql.mysql /usr/local/lnmp/mysql/ -R

#添加内核启动命令

[root@server1 local]# vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin
[root@server1 local]# source ~/.bash_profile

#添加存储数据目录data并改所属

[root@server1 local]# cd mysql/
[root@server1 mysql]# mkdir data
[root@server1 mysql]# chown mysql.mysql data

#进数据记录目录,初始化数据库

[root@server1 mysql]# cd data/
[root@server1 mysql]# /etc/init.d/mysqld start  ##生成记录文件
[root@server1 data]# rm -rf *
[root@server1 data]# mysqld --user=mysql --initialize
A temporary password for root@localhost: 2UktisUw>lsX ##生成临时密码

#改所属

#配置完成,重新将mysql目录用户改为root,仅将data目录的用户设为mysql,为了安全
[root@server1 mysql]# chown root /usr/local/mysql -R 
[root@server1 mysql]# chown mysql data -R

#登录成功进行安全初始化

[root@server1 mysql]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS! 
[root@server1 mysql]# mysql_secure_installation

注意:MySQL5.6.6版本之后增加了密码强度验证插件validate_password,使用了该插件会检查设置的密码是否符合当前设置的强度规则,若不满足则拒绝设置

二、PHP安装

#软件包依赖性

yum install libmcrypt-2.5.8-9.el6.x86_64.rpm libmcrypt-devel-2.5.8-9.el6.x86_64.rpm -y   #安装mcrypt需要此软件包(mcrypt 是php加密算法扩展库)
yum install net-snmp-devel curl-devel libxml2-devel libpng-devel libjpeg-devel freetype-devel gmp-devel openldap-devel -y

#解压源码包,编译安装

yum install bzip2 -y
tar jxf php-5.6.35.tar.bz2
cd php-5.6.35
./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --with-openssl --with-snmp --with-gd --with-zlib --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --with-gmp --with-gettext --with-pear --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring -enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt --with-mhash
make && make install

配置PHP

#创建nginx用户

[root@server1 local]# useradd nginx
[root@server1 local]# tail -n 1 /etc/passwd
nginx:x:500:500::/home/nginx:/bin/bash

#改主配置文件/usr/local/lnmp/php

[root@server1 local]# cd lnmp/php/etc
[root@server1 etc]# cp php-fpm.conf.default php-fpm.conf
[root@server1 etc]# vim php-fpm.conf
149 user = nginx 
150 group = nginx    #定义php-fpm服务的用户
25 pid = run/php-fpm.pid  #开启,pid进程文件

#改配置文件/php-5.6.35

[root@server1 php-5.6.35]# cp php.ini-production /usr/local/lnmp/php/etc/php.ini
[root@server1 php-5.6.35]# cd /usr/local/lnmp/php/etc
[root@server1 etc]# ls
pear.conf  php-fpm.conf  php-fpm.conf.default  php.ini
[root@server1 etc]# vim php-fpm.ini
936 date.timezone = Asia/Shanghai #修改时区

#启动脚本,加执行权限

fpm = FastCGI(快速通用网关接口) 
[root@server1 php-5.6.35]# cd sapi/fpm/
[root@server1 fpm]# cp init.d.php-fpm /etc/init.d/php-fpm
[root@server1 init.d]# chmod +x /etc/init.d/php-fpm

#开启服务,查看网络端口信息

[root@server1 etc]# /etc/init.d/php-fpm start
[root@server1 etc]# netstat -tnlp

三、Nginx安装

#安装依赖包,解压源码包

[root@server1 ~]# yum install pcre-devel -y
[root@server1 ~]# tar zxf  nginx-1.14.0.tar.gz
[root@server1 ~]# cd nginx-1.14.0

#隐藏版本号,关闭debug模式

[root@server1 nginx-1.14.0]# vim src/core/nginx.h 
#define NGINX_VER "nginx" (修改此行, 去掉后面的 “ NGINX_VERSION”,为了安全,这样编译后外界无法获取程序的版本号)
[root@server1 nginx-1.14.0]# vim auto/cc/gcc 
#CFLAGS=”$CFLAGS -g” (注释掉这行,去掉 debug 模式编译,编译以后程序只有几百 k)

#编译安装

[root@server1 nginx-1.14.0]# ./configure --help
[root@server1 nginx-1.14.0]# ./configure  \
--prefix=/usr/local/lnmp/nginx \    #安装目录
--with-http_ssl_module  \         #添加ssl模块
--with-http_stub_status_module  \  #监控模块
--with-threads \      #线程池
--with-file-aio  \    #文件格式aio
--user=nginx --group=nginx  #所属
#默认--with都是未添加的模块,需要自己按需添加,--without默认安装
[root@server1 nginx-1.14.0]# make && make install

#编辑配置文件

[root@server1 nginx-1.14.0]# cd /usr/local/lnmp/nginx/conf
[root@server1 conf]# vim nginx.conf
 43     location / {
 44         root   html;
 45         index  index.php index.html index.htm; ##将index.php做默认发布文件
 46     }
	    ##将php与nginx建立连接
 65         location ~ \.php$ {
 66         root           html;
 67         fastcgi_pass   127.0.0.1:9000;
 68         fastcgi_index  index.php;
 69       # fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
 70         include        fastcgi.conf; #修改为此文件,读取此文件参数
 71     }

nginx -t     #检测语法
nginx        #运行 nginx
nginx -s reload     #重载主配置文件
nginx -s stop       #关闭 nginx

#做执行软链接,方便

#编辑nginx发布文件

[root@server1 sbin]# cd /usr/local/lnmp/nginx/html/  ##编辑发布文件
[root@server1 html]# vim index.php
<?php
phpinfo()
?>

#重新加载测试

[root@server1 sbin]# nginx  ##运行nginx
浏览器测试:172.25.57.1

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LNMP环境指的是Linux+Nginx+MySQL+PHP的搭建。以下是LNMP环境搭建的详细步骤: 1. 安装Linux系统 首先需要选择一款适合自己的Linux系统,例如Ubuntu、CentOS等,并进行安装。 2. 安装Nginx Nginx是一款高性能的Web服务器和反向代理服务器,可以使用以下命令进行安装: ``` sudo apt-get update sudo apt-get install nginx ``` 安装完成后,启动Nginx服务: ``` sudo systemctl start nginx ``` 3. 安装MySQL MySQL是一款流行的关系型数据库,可以使用以下命令进行安装: ``` sudo apt-get install mysql-server ``` 安装完成后,启动MySQL服务: ``` sudo systemctl start mysql ``` 4. 安装PHP PHP是一种常用的服务器端脚本语言,可以使用以下命令进行安装: ``` sudo apt-get install php-fpm php-mysql ``` 安装完成后,启动PHP服务: ``` sudo systemctl start php-fpm ``` 5. 配置Nginx 在Nginx中配置PHP支持的网站,可以使用以下命令创建一个配置文件: ``` sudo nano /etc/nginx/sites-available/example.com ``` 在配置文件中添加以下内容: ``` server { listen 80; server_name example.com; root /var/www/example.com; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } } ``` 其中,example.com是你的域名,/var/www/example.com是你的网站根目录。 创建完成后,使用以下命令激活配置文件: ``` sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ ``` 重启Nginx服务使配置生效: ``` sudo systemctl restart nginx ``` 6. 测试 在浏览器中访问你的网站,例如http://example.com,如果一切正常,你应该能够看到你的网站。 至此,LNMP环境搭建完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值