搭建lnmp教程
LNMP指的是一个基于CentOS/Debian 上安装Nginx、PHP、MySQL、php。可以在独立主机上轻松的安装LNMP生产环境。
1 安装nginx
如果是一台新的服务器可直接安装(若以前安装过apacha和php需要卸载 命令 #yum remove http* php* )
安装命令
yum -y install nginx
启动命令
/etc/init.d/nginx start
刚刚买了服务器,测试发现无法启动报错 ,解决办法将default.conf 后缀改掉,这是一个虚拟主机的配置,,后面我们会详细介绍。
cd /etc/nginx/conf.d
mv default.conf default.conf.back
设置系统启动自动开启
chkconfig --level nginx on
安装nginx之后,我们要搭建一个虚拟主机,方便外网访问。一台云服务器可以创建多个虚拟主机。运行多个网站。我们可以为不同的域名绑定不同的目录,访问这个域名的时候,会打开对应目录里面的东西。先进入到 nginx 配置文件目录:
cd /etc/nginx/conf.d
新建一个以.conf结尾的配置文件名字最好以你的配置的域名为名称例如 www.baidu.com.conf,下面是一个虚拟主机配置,一般情况下只需要改动域名和代码位置,域名需要在域名管理平台解析,
代码本人习惯放在根目录/home/ 下
server {
listen ;
server_name www.baidu.com;
root /home/baidu;
charset utf-;
#access_log /var/log/nginx/log/host.access.log main;
location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$query_string;
}
#error_page /.html;
# redirect server error pages to the static page /50x.html
#
error_page /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:
#
location ~ \.php$ {
# root html;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
client_max_body_size 5000m;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
重启 nginx 或者重新加载 nginx 可以让配置文件生效。
service nginx reload
或者
service nginx restart
到根目录/home下,创建代码目录,目录名称必须跟虚拟主机配置项目录名称一致。
cd /home
mkdir baidu
vim baidu/1.html
随便写点什么保存。本人懒推荐****************;现在,打开浏览器,输入你为虚拟主机设置的域名,看看是否能打开你指定的目录里的东西。
2 安装php
根据项目需求安装php版本。php7.0性能高。
1.检查当前安装的PHP包
yum list installed | grep php
如果有安装的PHP包,先删除他们
yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64
2.配置yum源,根据服务器系统版本选择
Centos 5.X
rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
CentOs 6.x
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
CentOs 7.X
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
3.运行安装php yum install
安装php5.5
yum install php55w.x86_64 php55w-cli.x86_64 php55w-common.x86_64 php55w-gd.x86_64 php55w-ldap.x86_64 php55w-mbstring.x86_64 php55w-mcrypt.x86_64 php55w-mysql.x86_64 php55w-pdo.x86_64
安装php5.6
yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64
安装php7.0
yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64
4.安装PHP FPM
yum install php55w-fpm
yum install php56w-fpm
yum install php70w-fpm
如果你想在系统启动时自动运行php-fpm,输入下列命令:
# chkconfig --level php-fpm on
第一次启动php-fpm,输入下列命令:
# /etc/init.d/php-fpm restart
现在,我们已经安装了 php-fpm,并修改了 nginx 的配置文件让它可以去执行 php,下面,我们得去测试一下,可以使用 php 的 phpinfo(); 函数,方法是在你的虚拟主机根目录下面,创建一个 php 文件,命名为 phpinfo.php,然后在这个文件里输入:
<?php phpinfo(); ?>
保存并退出,php默认的使用者是apache,需要改为nginx
vim /etc/php-fpm.d/www.conf
将39行 41行的 apache改为nginx
; RPM: apache Choosed to be able to access some dir as httpd
user = apache
; RPM: Keep a group allowed to write in log dir.
group = apache
改为
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
重启nginx
service nginx restart
浏览器打开刚刚的文件,显示php信息
3 安装mysql
安装 mysql
mysql 可以管理网站用到的数据库,WordPress 和 Drupal 也都支持 mysql 数据库。所以我们的 Web 运行环境里,需要安装一个 mysql 。直接使用 yum 命令去安装 mysql :
yum install mysql-server
安装完成后,使用 service 命令启动 mysql 服务:
service mysqld start
然后我们需要简单配置一下 mysql ,默认安装以后 mysql 的 root 用户是没有密码的,对于生产环境来说,这肯定是不行的,另外还有一些安全相关的设置,可以使用下面这行命令去配置一下,它是一个向导,问你一些问题,你要给出答案,比如是否要设置 root 用户的密码, 密码是什么等等。
mysql_secure_installation
Enter current password for root (enter for none):
解释:输入当前 root 用户密码,默认为空,直接回车。
Set root password? [Y/n] y
解释:要设置 root 密码吗?输入 y 表示愿意。
Remove anonymous users? [Y/n] y
解释:要移除掉匿名用户吗?输入 y 表示愿意。
Disallow root login remotely? [Y/n] y
解释:不想让 root 远程登陆吗?输入 y 表示愿意。
Remove test database and access to it? [Y/n] y
解释:要去掉 test 数据库吗?输入 y 表示愿意。
Reload privilege tables now? [Y/n] y
解释:想要重新加载权限吗?输入 y 表示愿意。
CentOS下开启mysql远程连接, 当服务器没有运行php、没装phpmyadmin的时候,远程管理mysql就显得有必要了。
远程管理数据库方式有两种
1 普通链接通过3306端口链接
mysql -u root -p
在mysql控制台执行:
grant all privileges on *.* to 'root'@'%' identified by '' with grant option;
# root是用户名,%代表任意主机,'root'指定的登录密码(这个和本地的root密码可以设置不同的,互不影响)
flush privileges;# 重载系统权限
exit;
*****允许3306端口****
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport -j ACCEPT
# 查看规则是否生效
iptables -L -n # 或者: service iptables status
# 此时生产环境是不安全的,远程管理之后应该关闭端口,删除之前添加的规则
iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
PS,上面iptables添加/删除规则都是临时的,如果需要重启后也生效,需要保存修改:
service iptables save # 或者: /etc/init.d/iptables save
另外,
vi /etc/sysconfig/iptables # 加上下面这行规则也是可以的
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
2 通过ssh等通道连接
我使用的是navicae工具


在这里填上服务器远程链接信息

在这里填上服务器上的数据库密码就可以了。
服务器远程连接工具推荐xshell,sftp,写代码推荐phpstorm;大神们喜欢用vi直接在服务器上写代码,但是我还是喜欢这些工具, 工具是人类进步的阶梯嘛!
搭建lnmp教程的更多相关文章
- Ubuntu18.04下搭建LNMP教程-超详细图文(Nginx+MySQL+PHP含各种解决报错问题)
笔者最近在VM15.0上安装了Ubuntu18.,先来安装一个LNMP(Nginx+MySQL+PHP)网站服务器架构,为后续的实验做准备~ LNMP是指一组通常一起使用来运行动态网站或者服务 ...
- centos7 yum搭建lnmp环境及配置wordpress超详细教程
yum安装lnmp环境是最方便,最快捷的一种方法.源码编译安装需要花费大量的人类时间,当然源码编译可以个性化配置一些其它功能.目前来说,yum安装基本满足我们搭建web服务器的需求. 本文是我根据近期 ...
- Vmware搭建LNMP环境(Centos7+Nginx+Mysql+PHP7.1.8)
参考:1.Linux学习之CentOS(一)----在VMware虚拟机中安装CentOS 7(图文教程) 2.Centos7搭建LNMP环境 3.MySQL5.7修改默认root密码 4.CentO ...
- 在Linux CentOS7系统中搭建LNMP
LNMP就是Linux+Nginx+MySQL+PHP,既然是在Linux CentOS7那么Linux就是已经安装好了.所以接下百度一下接下来的教程,整理测试如下: 教程是centos6.2的有点老 ...
- 腾讯云,搭建LNMP环境
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统.代表版本有:debian.centos ...
- 用Docker搭建LNMP
程序员经常会说的一句话:在我的机器上是正常的,肯定是你的机器有问题.因此,Docker诞生了,它把应用所需要的一切东西都打包,从而可以很方便地进行部署. Docker 的主要用途,目前有三大类: 提供 ...
- CentOS7——搭建LNMP环境(WordPress案例)
CentOS7--搭建LNMP环境(WordPress案例) LNMP组成介绍 LNMP(Linux-Nginx-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统 ...
- 阿里云体验实验室 教你如何《快速搭建LNMP环境》
## 体验平台简介 面向开发者和中小企业打造的一站式.全云端的开发平台,打开浏览器就可以开发.调试.上线,所测即所得,并结合无服务器的模式,重新定义云原生时代的研发工作方法论.旨在降低开发者上手成本和 ...
- 树莓派Odroid等卡片式电脑上搭建NAS教程系列6-miniDLNA
目录: 1. 树莓派Odroid等卡片式电脑上搭建NAS教程系列1-Ubuntu系统安装 2. 树莓派Odroid等卡片式电脑上搭建NAS教程系列2-SSH连接访问 3. 树莓派Odroid等卡片式电 ...
随机推荐
- python学习笔记 tuple
1. ()去声明.与list类似,但是其元素不能改变. 2. 需要注意的是1中的不能改变是指()中的元素不能改变,如果其元素是一个list,那么list中的元素是可以改变的,不论是大小还是其他的. 3 ...
- JIT——即时编译的原理
介绍 java 作为静态语言十分特殊,他需要编译,但并不是在执行之前就编译为本地机器码. 所以,在谈到 java的编译机制的时候,其实应该按时期,分为两个部分.一个是 javac指令 将java源码 ...
- 校验ISBN的方法
国际标准书号(International Standard Book Number,ISBN:是国际通用的图书或独立的出版物(除定期出版的期刊)代码.出版社可以通过国际标准书号清晰的辨认所有非期刊书 ...
- jQuery开发自定义插件 $.extend()与$.fn.extend()
jQuery extend()和jQuery.fn.extend() jQuery提供两个用于封装扩展的方法: 1.$.extend(); 扩展jQuery类方法,即jQuery全局方法 (在全局可直 ...
- OBS源码解析(1)main函数
int main(int argc, char *argv[]){#ifndef _WIN32 signal(SIGPIPE, SIG_IGN);#endif #ifdef _WIN32 /*Open ...
- Express4.x API (二):Request (译)
写在前面 最近学习express想要系统的过一遍API,www.expressjs.com是express英文官网(进入www.epxressjs.com.cn发现也是只有前几句话是中文呀~~),所以 ...
- 为PHP摇旗呐喊!
如今市场上的电子商务软件基本上可归结为两大阵营.即PHP阵营和Java阵营.但对接触电子商务不久的用户来说.看到的往往仅仅是它们的表相,仅仅是明显的价格差异.却非常难看出它们之间的实际差异.事实上,P ...
- ado 字符串变量
这次变量主要针对 Mfc 的 Cstring 类型的变量(前面VC 链接Access 数据库 插入变量到表) 思路; 1 把cstring 类型 转为 string 2 string 转 char 数 ...
- iOS 从应用程序跳转到评价界面
1,跳转到App Store: NSString *str = [NSString stringWithFormat:@"http://itunes.apple.com/us/app/id% ...
- Android Root原理初探
Root Linux:Root == Windows:Adminstrator Android是Linux系统吗? 操作系统 = 系统内核 + 文件系统 Linux发行版:Linux内核 + 文件系统 ...