分享好友 最新动态首页 最新动态分类 切换频道
web平台搭建-LNMP(CentOS-7)
2024-12-25 17:18

1.环境要求

       操作系统:CentOS 7.X 64位

       关闭SELinux和firewalld防火墙

       此次试验环境使用网络yum源,保证系统能正常连接互联网

2.网络yum

       先将系统自带的yum配置文件移除或者删除,然后下载以下两个配置文件

       官方基础http://mirrors.163.com/.help/CentOS7-Base-163.repo

                       http://mirrors.aliyun.com/repo/Centos-7.repo

       epel拓展:http://mirrors.aliyun.com/repo/epel-7.repo

       下载完成后,需要使用命令清除掉原有的yum缓存,使用新的配置文件建立缓存

       # yum clean all      #清除掉原有缓存列表

       # yum makecache  #建立新的缓存列表

       # yum update         #将所有能更新的软件更新(非必选

3.安装编译工具和依赖软件包

       # yum -y install gcc gcc-c++ pcre-devel openssl openssl-devel zlib-devel ncurses-devel cmake bison libxml2-devel libpng-devel

4. Nginx、MySQL、PHP三大软件的源码包下载地址

       Nginx:nginx: download

       MySQL:MySQL :: Download MySQL Community Server

       PHP:PHP: Hypertext Preprocessor

       版本选用

       Nginx: 1.12.*     #选用软件的稳定版即可

       Mysql: 5.5.*       #5.5以上版本需要1G以上的内存,否则无法安装

       PHP:    7.1.*       #我们使用的是php7

注意:每次安装LNMP,软件包的小版本都不一样,官方会对其大版本下的小版本进行覆盖式更新,本文内部分链接会失效,切记按照下载版本进行安装

1.Nginx

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是内存的利用率高,并发能力强。

1.1 下载Nginx源码包

# wget http://nginx.org/download/nginx-1.12.2.tar.gz

1.2 创建用于运行Nginx的用户

# useradd -r -s /sbin/nologin nginx

1.3 解压缩Nginx并安装

# https://blog.csdn.net/gsdgdg00/article/details/configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module

# make

# make install

1.4 上传编写好的nginx启动管理脚本(见文本尾部

2.MySQL

下载https://dev.mysql.com/downloads/mysql/

选择MySQL Community Server 5.5 »

选择Select Version: 按照自己要求选择

         Select Operating System: Source Code

         Select OS Version: Generic Linux

格式mysql-N.N.NN.tar.gz

# wget https://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.62.tar.gz

2.1创建用于运行Mysql的用户

# useradd -r -s /sbin/nologin mysql

             

2.2解压缩Mysql并安装

# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306

# make

# make install

# ln -s /usr/local/mysql/bin/*  /usr/local/bin

2.3修改安装后的目录权限

# cd /usr/local/mysql

# chown -R root .

# chown -R mysql data

2.4生成Mysql配置文件

# cp -a /lnmp/mysql-5.5.62/support-files/my-medium.cnf  /etc/my.cnf

2.5初始化,生成授权表

# cd /usr/local/mysql                   #一定要先切换到此目录下,然后再执行下一步。

# https://blog.csdn.net/gsdgdg00/article/details/scripts/mysql_install_db --user=mysql

初始化成功标志:两个ok

      

2.6生成Mysql的启动和自启动管理脚本

# cd /lnmp/mysql-5.5.62/support-files

切换到mysql的源码解压缩目录下的support-files

# cp -a mysql.server /etc/init.d/mysqld

# chmod +x /etc/init.d/mysqld

# chkconfig --add mysqld

# chkconfig mysqld on

# service mysqld start|stop|restart

2.7给mysql的root用户设置密码

# mysqladmin -uroot password 123456

3.PHP

下载http://www.php.net/

# wget https://www.php.net/distributions/php-7.1.29.tar.gz

3.1解压缩PHP并安装:

# https://blog.csdn.net/gsdgdg00/article/details/configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --with-pdo-mysql=/usr/local/mysql --with-gd --without-pear --enable-fpm

# make

# make install

报错提示若遇到libpng.so not found .报错(老版本的PHP会出现此问题

解决方案

# ln –s /usr/lib64/libpng.so  /usr/lib

3.2生成php配置文件

# cp -a /lnmp/php-7.1.29/php.ini-production /usr/local/php/etc/php.ini

复制源码包内的配置文件到安装目录下,并改名即可

3.3创建软连接,使用php相关命令是更方便

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

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

4.配置Nginx连接PHP(重难点

4.1 nginx连接php需要启动php-fpm服务

# cd /usr/local/php/etc/

# cp -a php-fpm.conf.default php-fpm.conf

生成php-fpm的配置文件,并修改指定参数

# vim php-fpm.conf

修改指定条目的参数

pid = run/php-fpm.pid

# cd /usr/local/php/etc/php-fpm.d/

# cp -a www.conf.default www.conf

# vim www.conf

修改用户和组的指定用户

       user = nginx

       group = nginx

修改Nginx启动管理脚本:将php-fpm的注释取消掉即可

4.2 修改Nginx的配置文件,使其识别.php后缀的文件

# vim /usr/local/nginx/conf/nginx.conf

取消下列行的注释,并修改include选项的后缀为fastcgi.conf,并注意每一行结尾的分号和大括号

#location ~ .php$ {

#    root                    html;

#    fastcgi_pass         127.0.0.1:9000;

#    fastcgi_index       index.php;

#    fastcgi_param      SCRIPT_FILENAME          /scripts$fastcgi_script_name;

#    include                fastcgi_params;            #修改为fastcgi.conf

#}

注意:有些网站项目开发时,目录和页面结构不相同,重新定义正则匹配

案例location ~  .php(/.*)*$

该结构适用于typecho博客项目,可以匹配出http://192.168.88.110/blog/index.php/archives/1/

测试

重启Nginx服务,创建php测试文件,访问并查看是否解析

             

4.3 修改Nginx配置文件,使其默认自动加载php文件

location / {

root html;                                  #Nginx的默认网页路径:PREFIX/html

index      index.php index.html;    #设置默认加载的页面,以及优先级

}

停止在运行

附件建议使用时先复制到文本文件中查看下是否有字符集问题

#################################Nginx启动管理脚本##################################

#!/bin/bash

#Authorliu

#chkconfig: 2345 99 33

#description: nginx server control tools

ngxc="/usr/local/nginx/sbin/nginx"

pidf="/usr/local/nginx/logs/nginx.pid"

ngxc_fpm="/usr/local/php/sbin/php-fpm"

pidf_fpm="/usr/local/php/var/run/php-fpm.pid"

case "$1" in

    start)

        $ngxc -t &> /dev/null

        if [ $? -eq 0 ];then

                $ngxc

                $ngxc_fpm

                echo "nginx service start success!"

        else

                $ngxc -t

        fi

        ;;

    stop)

        kill -s QUIT $(cat $pidf)

        kill -s QUIT $(cat $pidf_fpm)

        echo "nginx service stop success!"

        ;;

    restart)

        $0 stop

              sleep 1

        $0 start

        ;;

    reload)

        $ngxc -t &> /dev/null

        if [ $? -eq 0 ];then

                kill -s HUP $(cat $pidf)

                kill -s HUP $(cat $pidf_fpm)

                echo "reload nginx config success!"

        else

                $ngxc -t

        fi

        ;;

    *)

        echo "please input stop|start|restart|reload."

        exit 1

              ;;

esac

最新文章
淘宝中sku优化是什么意思
淘宝中sku优化是什么意思?淘宝sku是商家在经营店铺过程中的一个重要的数据,优化的时候一定要慎重。有些商家为了能够更好的经营店铺或者是实际需要,就会需要对sku进行优化,如果你的操作是正常的,对淘宝权重排名是有帮助的。SKU优化逻辑
轻松生成高清美女写真,探索搜狐简单AI工具的使用技巧与评测
限时免费,点击体验最近超火的AI生图神器,坐拥3000美女的大男主就是你! https://ai.sohu.com/pc/generate/textToImg?_trans_=030001_yljdaimn 在这个数字化时代,每个人都渴望拥有的一种展现方式便是通过精美的照片来展示自己。而对于许
网站软文营销价格怎么算?这几个因素要考虑!
网站软文营销价格怎么算?这几个因素要考虑!网站软文营销价格怎么算?这几个因素要考虑!标题:网站软文营销价格怎么算?这几个因素要考虑!随着互联网的快速发展,软文营销已成为企业宣传的重要手段之一。许多企业通过撰写高质量的软文,
【新手导向】使用Docker安装宝塔面板,实现炫酷的服务器可视化面板管理
我在上篇文章中分享了在NAS上一款可视化Docker管理工具『Docker UI』,因为是国人开发,所以原生的中文支持,以及小清新的UI界面,确实很讨喜我们国内用户。  不过在评论区看到有小伙伴提到还可以使用宝塔面板自带的管理界面,并且让我做
产品推广方案(最新)发布,照着做,你的产品也能火!
标题:产品推广方案(最新)发布,照着做,你的产品也能火!随着市场竞争的日益激烈,如何让自己的产品脱颖而出,成为消费者心中的“爆款”,成为了许多企业关注的焦点。本文将为您揭秘一份最新产品推广方案,让您轻松实现产品的火爆销售。
用AI仿冒知名人士进行营销宣传,209个微信账号被关闭
微信一直致力于打造安全、健康、绿色的平台生态环境。近期有媒体报道网络存在利用AI技术仿冒名人进行不当营销的现象。为守护用户权益,避免消费者上当受骗,结合用户举报、日常巡查等线索,我们从速从严打击了一批利用AI仿冒知名人士进行不
超逼真美女写真:AI生成神器测评与实用教程
限时免费,点击体验最近超火的AI生图神器,坐拥3000美女的大男主就是你! https://ai.sohu.com/pc/generate/textToImg?_trans_=030001_yljdaimn 在这个数字化的时代,我们是否曾梦想到一款能够快速生成超逼真的美女写真工具?这个迷人的概
【会员动态】研祥智能:创新之巅,顶峰相见,第四届智能制造创新大赛(制造业+AI赛道) 总决赛盛大开幕
该赛事在国家智能制造专家委员会、深圳市工业和信息化局、智能制造系统解决方案供应商联盟指导下,由中国电子技术标准化研究院、研祥高科技控股集团有限公司、广东省工业边缘智能创新中心等单位主办,赛事受到国内外制造龙头企业、供应商、
这些小众软件和在线网站实用又方便,肯定有你不知道的!
小众软件:1、万彩办公室大师:大家有没有发现,其实我们常用的办公软件就那么几个,或者你突然要用上个别小功能,这时候你就需要安装体积比较大的软件,时间长了,不知不觉下电脑就安装了很多软件。这些软件甚至会给你捆绑些你完全不需要
苹果手机白色圆点功能怎么开
苹果手机上的白色圆点功能,也被称为“辅助触控”(AssistiveTouch),是苹果公司为帮助有行动不便或对触控操作不便的用户设计的一种功能。它通过在屏幕上显示一个虚拟的白色圆点,提供一系列触控操作的快捷方式,使得用户能够更方便地操作
相关文章
推荐文章
发表评论
0评