阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu系统下LNMP环境的搭建

445次阅读
没有评论

共计 5872 个字符,预计需要花费 15 分钟才能阅读完成。

LNMP 代表的就是:Linux 系统下 Nginx+MySQL+PHP 这种网站服务器架构。
Linux 是一类 Unix 计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、CentOS、Ubuntu、Fedora、gentoo 等。
Nginx 是一款轻量级的 Web 服务器 / 反向代理服务器及电子邮件(IMAP/POP3)代理服务器
Mysql 是一个小型关系型数据库管理系统。
PHP 是一种在服务器端执行的嵌入 HTML 文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
 
(一)首先需要安装一个 Ubuntu 系统,我是在虚拟机上安装的,过程非常简单
安装好后就可以在系统上装 nginx、mysql、php 了。
我们先要配置系统的网卡,让他可以上网,并设置他的 DNS
root@linuxidc:~# vim /etc/network/interfaces
root@linuxidc:~# vim /etc/resolv.conf

然后重启网卡,Ubuntu 和 centos 重启网卡的命令并不相同
root@linuxidc:~# ifdown eth0 && ifup eth0

查看一下网卡信息确认是否已经配置好
 
(二)
然后进行下一步,安装 nginx,可以到官网下载,找到稳定版
打开 /etc/apt/source.list 文件,将下面两行命令粘贴到文件的末尾,不要粘错了!!
deb http://nginx.org/packages/ubuntu/ codename nginx
 
deb-src http://nginx.org/packages/ubuntu/ codename nginx

然后将 codename 改成 trusty,不同版本的系统替换的单词不同,到官网查找即可
下载秘钥
root@linuxidc:~# wget http://nginx.org/keys/nginx_signing.key

下载后执行下面的这条命令
root@linuxidc:~# apt-key add nginx_signing.key

最后更新源,安装 nginx,启动 nginx
root@linuxidc:~# apt-get update 
root@linuxidc:~# apt-get install nginx
root@linuxidc:~# service nginx start

我们看一下 80 端口起来没有
root@linuxidc:~# netstat -ntpl | grep 80

设置一下防火墙允许 80 端口通过,ubuntu 和 centos 命令也不同
root@linuxidc:~# ufw allow 80

 用浏览器登录本机 ip 地址,就可以看到 nginx 的欢迎页面了
(三)
nginx 装好后就可以安装 mysql 了
先建立 mysql 相关的用户、组、文件夹,将新建的目录递归设置属主 mysql 和属组 mysql
root@linuxidc:~# groupadd mysql
root@linuxidc:~# useradd -g mysql mysql -s /bin/false
root@linuxidc:~# mkdir -p /Disk/data/mysql/var
root@linuxidc:~# chown -R mysql:mysql /Disk/data/mysql/var

解压 mysql 包。
root@linuxidc:~# tar zxvf mysql-5.5.35.tar.gz

安装一些程序包,否则后面会报错
root@linuxidc:~# apt-get install g++
root@linuxidc:~# apt-get install libaio1
root@linuxidc:~# apt-get install libncurses5-dev
root@linuxidc:~# apt-get install libncurses5
root@linuxidc:~# wget http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz
root@linuxidc:~# tar zxvf bison-2.5.1.tar.gz 
root@linuxidc:~# cd bison-2.5.1/
root@linuxidc:~/cd bison-2.5.1# ./configure

在配置过程中会出错,是因为没有安装 m4
root@linuxidc:~/cd bison-2.5.1# apt-get install m4
Ubuntu 中没有 make 命令,安装一下。在 Ubuntu 中用 apt-get 命令
root@linuxidc:~/cd bison-2.5.1# apt-get install make
root@linuxidc:~/cd bison-2.5.1# make && make install

然后进行 mysql 的安装
root@linuxidc:~# cd mysql-5.5.35/
root@linuxidc:~/mysql-5.5.35# cmake . -DCMAKE_INSTALL_PREFIX=/Disk/local/mysql-DMYSQL_DATADIR=/Disk/data/mysql/var -DSYSCONFDIR=/etc

你会看到 Ubuntu 上 cmake 命令也没有
root@linuxidc:~/mysql-5.5.35# apt-get install cmake

再 cmake 一下,如果还报错,就 rm CMakeCache.txt
成功后编译安装
root@linuxidc:~/mysql-5.5.35# make && make install

mysql 安装好后就可以进行配置了,一定要在安装目录下进行
root@linuxidc:~# cd /Disk/local/mysql
root@linuxidc:~/Disk/local/mysql# cp ./support-files/my-huge.cnf /etc/my.cnf

修改配置文件,做好备份
root@linuxidc:~/Disk/local/mysql# vim /etc/my.cnf
root@linuxidc:~/Disk/local/mysql# mv /etc/my.cnf /etc/my.cnf.bak
root@linuxidc:~/Disk/local/mysql# vim /etc/my.cnf.bak
root@linuxidc:~/Disk/local/mysql# vim /etc/my.cnf

将以下配置写到配置文件中
[client]
  port            = 3306
  socket          = /tmp/mysql.sock
  [mysqld]
  datadir = /Disk/data/mysql/var
  port            = 3306
  socket          = /tmp/mysql.sock
  skip-external-locking
  key_buffer_size = 256M
  max_allowed_packet = 20M
  sort_buffer_size = 2M
  read_buffer_size = 2M
  read_rnd_buffer_size = 8M
  myisam_sort_buffer_size = 64M
  #server-id      = 1
  #xzy
  thread_stack            = 192K
  thread_cache_size      = 64
  myisam-recover        = BACKUP
  max_connections        = 5000
  query_cache_limit      = 2M
  query_cache_size        = 256M
  #错误日志记录
  log_error = /Disk/log/mysql/error.log
  #慢查询日志
  #slow-query-log        = /Disk/log/mysql/mysql-slow.log
  #long_query_time = 5
  #log-queries-not-using-indexes
  #二进制文件日志
  log_bin                = /Disk/log/mysql/mysql-bin.log
  binlog_format    = row
  expire_logs_days        = 10
  max_binlog_size        = 100M
  #不区分大小写
  lower_case_table_names=1
  [mysqldump]
  quick
  max_allowed_packet = 16M
  [mysql]
  no-auto-rehash
  [myisamchk]
  key_buffer_size = 256M
  sort_buffer_size = 256M
  read_buffer = 2M
  write_buffer = 2M
  [mysqlhotcopy]
  interactive-timeout

新建日志文件,并设置属主和属组
root@linuxidc:~/Disk/local/mysql#kdir -p /Disk/log/mysql
root@linuxidc:~/Disk/local/mysql# chown -R mysql:mysql /Disk/log/mysql

初始化数据库
root@linuxidc:~/Disk/local/mysql# /Disk/local/mysql/scripts/mysql_install_db –user=mysql

把 mysql 加入系统启动,他会告诉你找不到 /etc/rc.d/init.d/mysqld 文件
root@linuxidc:~/Disk/local/mysql# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

此时进入当前目录下的 support-files/ 目录
root@linuxidc:~/Disk/local/mysql/support-files# ./mysql.server restart

这样就将 mysql 启动起来了
mysql 使用 3306 端口,将 3306 端口加入防火墙
root@linuxidc:~# ufw allow 3306

查看防火墙状态
root@linuxidc:~# ufw status

最后就是给 MySQL 数据库里的 root 账号一个密码,这个 MySQL 的 root 不是指操作系统的 root,而是指这个数据库管理系统的 root
root@linuxidc:~/Disk/local/mysql/bin# ./mysqladmin -u root password ‘666666’

接下来我们修改一下 /etc/profile 文件将这句话加到文件末尾,把 mysql 服务加入系统环境变量
export PATH=$PATH:/Disk/local/mysql/bin

使配置立即生效 source /etc/profile  这样我们就能 Tab 出 mysql 命令了
我们用账号密码登录下 mysql
root@linuxidc:~# mysql -u root -p

再输入密码就能登录进行数据库的操作了
我们用 windows 下的 Natcivat 连接服务器 Mysql,出现 1130 错误提示,是因为远程服务器无权限登录 MySQL
对 root 用户授权并设置密码
mysql> grant all on *.* to ‘root’@’%’ identified by ‘888888’;

(四)安装 php,php 的安装比较简单
root@linuxidc:~# apt-get install php5
root@linuxidc:~# apt-get install php5-fpm
root@linuxidc:~# apt-get install php5-curl
root@linuxidc:~# apt-get install libmcrypt4 php5-mcrypt
root@linuxidc:~# apt-get install php5-gd
root@linuxidc:~# apt-get install php5-xmlrpc
root@linuxidc:~# apt-get install libapache2-mod-php5
root@linuxidc:~# apt-get install php5-mysql
root@linuxidc:~# /etc/init.d/php5-fpm start

然后将 PHP 和 nginx 进行整合,修改默认配置文件 , 将下面的代码取消注释
12345678  root@ubuntu:/etc/nginx/conf.d# vim default.conf
 location ~ \.php$ {
          root          html;
          fastcgi_pass  127.0.0.1:9000;
          fastcgi_index  index.php;
          fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
          include        fastcgi_params;
  }

如果更改了端口,记得设置防火墙!!!修改完配置文件后,记得重启 nginx 服务!!!
检查一下 9000 端口是否开启,如果没有的话
修改 /etc/php5/fpm/pool.d/www,conf,将文件中的 Listen 改为 9000
在网站根目录 /usr/share/nginx/html 下新建一个 index.php 文件,写入 <?php phpinfo();?>
记得重启 php5-fpm 服务!!!
在浏览器地址中输入 http:// 本机地址 /index.php 就能访问到 php 页面了
 
(五)现在讲 lnmp 环境搭建好了,接下来安装 discuz 论坛
将 Discuz_X3.3_SC_UTF8.zip 压缩包解压到网站根目录下 /usr/share/nginx/html
安装 unzip 命令 -d 指定解压目录
会得到三个文件夹 upload、readme、utility
对网站根目录设置权限
root@linuxidc:~# chmod -R 777 /usr/share/nginx/html/

用浏览器访问 http:// 主机地址 /upload/install/index.php
进入 discuz 安装首页进行安装,填写主机名,数据库密码,管理员密码
安装成功后用管理员登录就可以了

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-04/142610.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5872字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7999317
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...
星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛 NAS-1:安装飞牛 NAS 前言 在家庭和小型工作室场景中,NAS(Network Atta...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...