前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >搭建 LNMP 环境

搭建 LNMP 环境

作者头像
剧终
发布于 2020-08-26 16:39:21
发布于 2020-08-26 16:39:21
1.2K00
代码可运行
举报
文章被收录于专栏:Linux学习日志Linux学习日志
运行总次数:0
代码可运行

LNMP是建立web应用的平台,是Linux、NGINX,MySQL(有时也指MariaDB数据库软件) 和PHP(有时也是指PerlPython) 的简称。

安装编译工具及库文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum -y install make zlib zlib-devel gcc-c ++ libtool openssl openssl-devel

安装PCRE

PCRE作用是让Nginx支持Rewrite功能。 下载PCRE安装包,下载地址:http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /usr/local/src/
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

解压安装包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar zxvf pcre-8.35.tar.gz

进入安装包目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd pcre-8.35

编译安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./configure
make && make install

查看pcre版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pcre-config --version

安装Nginx

下载Nginx,下载地址:http : //nginx.org/download/nginx-1.6.2.tar.gz

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /usr/local/src/
wget http://nginx.org/download/nginx-1.6.2.tar.gz

解压安装包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar zxvf nginx-1.6.2.tar.gz

编译安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd nginx-1.6.2
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
make && make install

查看nginx版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/usr/local/nginx/sbin/nginx -v

启动Nginx Nginx启动命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/usr/local/nginx/sbin/nginx

停止nginx命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/usr/local/nginx/sbin/nginx -s quit

安装PHP

在安装PHP之前需要安装一些依赖包,执行下面的命令就可以了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install vim gcc gcc++ wget libxml2-devel wget -y

访问PHP的官方下载地址:https://php.net 找到自己想要安装的版本来进行下载,我这里选择php5.6

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget http://cn2.php.net/get/php-5.6.34.tar.gz/from/this/mirror

解压文件 解压完就会在当前文件夹看到PHP的安装包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar zxvf mirror

其中php-5.6.34就是我们需要用到的压缩包,让我们进入目录进行安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd php-5.6.34
./configure --prefix=/usr/local/php  --enable-fpm

./configure 就是就是编译makefile文件的工具 --prefix 就是指定安装PHP到哪个目录 执行完成之后下面的命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
make
make install

我们执行完成./configure 只是把我们的配置写入makefile文件,还没有安装,make 命令就是安装。 准备配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf

到此我们就安装完成PHP了。

配置Nginx并运行PHP程序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim /usr/local/nginx/conf/nginx.conf
location ~ \.php$ {
            root           /home/www; //网站目录
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

然后保存退出

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /
mkdir www
cd www
vim index.php
<?php phpinfo(); ?>

重启php和nginx

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/usr/local/nginx/sbin/nginx -s reload
/usr/local/php/sbin/php-fpm

打开浏览器,输入127.0.0.1/index.php

安装mysql

同样的在安装之前先安装一些依赖工具和依赖包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install -y gcc gcc-c++ make tar openssl openssl-devel cmake ncurses-devel

新版的mysql都采用cmake安装,所以请务必安装这个工具 下载mysql的安装包 mysql的官方地址为:MySQL 在下载地址选择自己想要下载的版本,我选择的是mysql5.6

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.47.tar.gz

解压文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar -zxvf mysql-5.6.47.tar.gz

然后进入目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd mysql-5.6.47

编译安装mysql 设置放置位置 安装位置/usr/local/mysql 数据存放位置 /data/mysql

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_DEBUG=0 -DWITH_SSL=yes -DWITH_READLINE=1 -DENABLED_LOCAL_INFIL=1
make
make install

复制

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cp support-files/mysql.server /etc/init.d/mysqld

赋予权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chmod a+x /etc/init.d/mysqld
mkdir -pv /data/mysql
chown -R mysql:mysql /data/mysql

mysql环境变量

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin/

使配置文件生效

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
source /etc/profile

配置初始化数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
datadir=/data/mysql
user=mysql
skip-name-resolve
long_query_time=2
slow_query_log_file=/data/mysql/mysql-slow.log
expire_logs_days=2
innodb-file-per-table=1
innodb_flush_log_at_trx_commit = 2
log_warnings = 1
max_allowed_packet = 512M
connect_timeout = 60
net_read_timeout = 120

[mysql_safe]
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid

数据库初始化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chown -R mysql:mysql /usr/local/mysql /data/mysql
yum install -y perl-Module-Install
/usr/local/mysql/scripts/mysql_install_db --user=mysql  --basedir=/usr/local/mysql --datadir=/data/mysql/
/usr/local/mysql/bin/mysqld_safe --user=mysql --basedir=/usr/local/mysql/ --data=/data/mysql/

使用systemctl管理mysql

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vi /usr/lib/systemd/system/mysqld.service
[Unit]
Desription=mysqld
After=network.target
[Service]
Type=forking
ExecStart=/etc/init.d/mysqld start
[install]
WantedBy=multi-user.target

启动MYsql

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl start mysqld

设置数据库密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysqladmin -uroot password 'Aa123456'

连接数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql -uroot -pAa123456  
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
大疆创新2020校招数字IC笔试题解析【芯片开发工程师】【数字IC】【FPGA】
参考:CDC跨时钟域处理及相应的时序约束【set_clock_groups】【set_max_delay】【FPGA探索者】
FPGA探索者
2021/05/31
8.7K0
大疆创新2020校招数字IC笔试题解析【芯片开发工程师】【数字IC】【FPGA】
腾讯2013年实习生笔试题目(附答案)
下面是我在参加2013年腾讯实习生招聘的笔试题目,当然啦,我个人不可能是完全的记住所有题目,部分是摘自网络的。同时,下面也有一些题目我不会的,希望大家一起商量解决给以答案,谢谢。 选择题 32位机上根据下面的代码,问哪些说法是正确的?() signed char a = 0xe0; unsigned int b = a; unsigned char c = a; A. a>0 && c>0 为真 B. a == c 为真 C. b 的十六进制表示是:0
猿人谷
2018/01/17
1.3K0
腾讯2013年实习生笔试题目(附答案)
【计组不挂科】计算机组成综合习题库(选择题207道&判断题93道&填空题143道)(含答案与解析)
A.输入/输出设备 B.外存储器 C.远程通信设备 D.除了CPU和内存以外的其他设备
YY的秘密代码小屋
2025/01/03
2500
【计组不挂科】计算机组成综合习题库(选择题207道&判断题93道&填空题143道)(含答案与解析)
「 互联网笔试题 」No.4答案与解析
1、下列哪个修饰符的方法不能被子类调用?( C ) A. Public B. Protected C. Private
KEN DO EVERTHING
2019/01/17
6950
数字IC笔试题(9)——代码覆盖率、功能覆盖率
2. 代码覆盖率、条件覆盖率和状态机覆盖率均达到 100%,可以认为设计没有问题。
FPGA探索者
2021/10/25
1.7K0
数字IC笔试题(9)——代码覆盖率、功能覆盖率
某银行软件测试笔试题
2. 按开发阶段分,软件测试可分为:单元测试、集成测试、___系统测试______、确认测试和验收测试。
测试之道
2021/03/04
1.4K0
2021乐鑫科技校招芯片岗提前批真题解析(修正版)
一个异步FIFO,rdata和wdata均为8位数据,FIFO深度为16,当rst_n输入为低时,FIFO被复位,当wclk的上升沿采样到wr为高时,数据被写入FIFO,当rclk的上升沿采样到rd为高时,FIFO输出数据。此外,当FIFO为空时,empty信号输出为高,当FIFO满时,full信号输出为高。
数字IC小站
2020/06/30
5.7K0
2021乐鑫科技校招芯片岗提前批真题解析(修正版)
数字IC基础知识总结(笔试、面试向)-持续更新
BCD码为使用4个bit表示一个十进制位数,即123的BCD码为0x123,余3码表示BCD码基础上加3(十进制),例子如下,对于26而言:
月见樽
2020/05/26
2.3K0
数字IC基础知识总结(笔试、面试向)-持续更新
一道简单的笔试题_低功耗设计
降低功耗:应当在所有设计层次上进行,即系统级、逻辑级和物理级,层次越高对功耗降低越有效;
数字芯片社区
2020/07/20
3.6K0
一道简单的笔试题_低功耗设计
《IC真题之吾见 》 华为实习笔试
吾见:B 理由: A:recovery时间,即恢复时间,字面上理解,就是异步控制信号撤离后,电路恢复正常的时间检查。 所以,恢复时间的定义是:异步控制信号撤离时刻与下一个有效时钟边沿的时间间隔。原文如下:
数字芯片社区
2022/09/19
1.4K0
《IC真题之吾见 》 华为实习笔试
[十八]Cracking Digital VLSI Verification Interview
亚稳态是一种电路状态,在电路正常工作所需的时间内,电路无法稳定在的“ 0”或“ 1”逻辑电平的状态。通常在建立时间和保持时间违例时发生。
空白的贝塔
2020/06/24
2K0
[十八]Cracking Digital VLSI Verification Interview
计算机组成原理核心知识点总结&面试笔试要点[通俗易懂]
  作为一名计算机专业的学生,计算机组成原理、计算机网络、操作系统这三门课程可以说是专业核心基础课,是至关重要的,其内容是一名合格的coder所必备的知识集;非科班出身的程序员要是想要有所提升,也需要认真学习这三门课程,可以快速形成计算机知识的结构体系,理解计算机底层原理,在工作实践中可以借鉴优秀的设计;而且很多互联网公司在笔试和面试中都会涉及到这三门课程的知识点,因此我通过视频学习对这三门课程就行复习巩固,同时分三篇博客记录总结。
全栈程序员站长
2022/07/28
1.4K0
计算机组成原理核心知识点总结&面试笔试要点[通俗易懂]
机器学习笔试题精选
机器学习是一门理论性和实战性都比较强的技术学科。在应聘机器学习相关工作岗位时,我们常常会遇到各种各样的机器学习问题和知识点。为了帮助大家对这些知识点进行梳理和理解,以便能够更好地应对机器学习笔试包括面试。红色石头准备在公众号连载一些机器学习笔试题系列文章,希望能够对大家有所帮助!
AI科技大本营
2018/08/03
1.3K0
机器学习笔试题精选
【计组不挂科】计算机组成第二章< 数据的表示&运算方法&运算部件 >习题库(选择题&判断题&填空题)(含答案与解析)
A.指令和数据都以十进制形式存放 B.指令和数据都以二进制形式存放 C.指令以二进制形式存放,数据以十进制形式存放 D.指令以十进制形式存放,数据以二进制形式存放
YY的秘密代码小屋
2024/11/30
2280
【计组不挂科】计算机组成第六章< 总线 >习题库(选择题&判断题&填空题&填空计算题)(含答案与解析)
A.总线是可共享的 B.总线是可独占的 C.总线的数据传输是串行的 D.通过总线仲裁实现对总线的占用
YY的秘密代码小屋
2024/12/14
2380
数字IC笔试题(10)——System Verilog的class类相关问题
new 函数中并没有把传入的 addr 值赋值给对象,所以不管 new 传入多少,都是打印的 bit [31:0] addr 的默认值,此处没有赋值,打印 0;
FPGA探索者
2021/10/25
1.3K0
数字IC笔试题(10)——System Verilog的class类相关问题
机器学习笔试题精选(三)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/red_stone1/article/details/81073650
红色石头
2019/05/25
1.4K0
机器学习笔试题精选(二)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/red_stone1/article/details/81023976
红色石头
2019/05/25
1K0
通过优化RTL减少功耗
随着各种消费类设备智能化的巨大增长,这些应用正变得更加以数据为中心data-centric和计算密集型computation intensive。从IC设计的角度来看,这增强了早已经存在的power vs area trade-off的挑战。
AsicWonder
2024/04/01
4420
通过优化RTL减少功耗
数字IC设计经典笔试题之【FPGA基础】
同步电路的速度是指同步系统时钟的速度,同步时钟愈快,电路处理数据的时间间隔越短,电路在单位时间内处理的数据量就愈大。假设Tco是触发器的输入数据被时钟打入到触发器到数据到达触发器输出端的延时时间(Tco=Tsetpup+Thold);Tdelay是组合逻辑的延时;Tsetup是D触发器的建立时间。假设数据已被时钟打入D触发器,那么数据到达第一个触发器的Q输出端需要的延时时间是Tco,经过组合逻辑的延时时间为Tdelay,然后到达第二个触发器的D端,要希望时钟能在第二个触发器再次被稳定地打入触发器,则时钟的延迟必须大于Tco+Tdelay+Tsetup,也就是说最小的时钟周期Tmin =Tco+Tdelay+Tsetup,即最快的时钟频率Fmax =1/Tmin。FPGA开发软件也是通过这种方法来计算系统最高运行速度Fmax。因为Tco和Tsetup是由具体的器件工艺决定的,故设计电路时只能改变组合逻辑的延迟时间Tdelay,所以说缩短触发器间组合逻辑的延时时间是提高同步电路速度的关键所在。由于一般同步电路都大于一级锁存,而要使电路稳定工作,时钟周期必须满足最大延时要求。故只有缩短最长延时路径,才能提高电路的工作频率。可以将较大的组合逻辑分解为较小的N块,通过适当的方法平均分配组合逻辑,然后在中间插入触发器,并和原触发器使用相同的时钟,就可以避免在两个触发器之间出现过大的延时,消除速度瓶颈,这样可以提高电路的工作频率。这就是所谓"流水线"技术的基本设计思想,即原设计速度受限部分用一个时钟周期实现,采用流水线技术插入触发器后,可用N个时钟周期实现,因此系统的工作速度可以加快,吞吐量加大。注意,流水线设计会在原数据通路上加入延时,另外硬件面积也会稍有增加。
数字芯片社区
2020/07/20
1.6K0
推荐阅读
相关推荐
大疆创新2020校招数字IC笔试题解析【芯片开发工程师】【数字IC】【FPGA】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档