基于centos的lnmp搭建
部署lnmp环境
LNMP(linux,nginx,mariadb,php)部署,以下默认在root权限下操作,以centos7为例。
安装
- 安装nmp(nginx-mariadb-php)
yum install nginx mariadb-server php php-fpm
- 设置开机启动并立即启动服务:
systemctl enable nginx mariadb php-fpm && systemctl start nginx mariadb php-fpm
- 可安装phpmyadmin方便管理mariadb数据库:
yum install phpmyadmin
配置
mariadb配置
mysql_secure_installation
回车>根据提示输入Y>输入2次密码(不建议无密码)>回车>根据提示一路输入Y>最后出现:Thanks for using MariaDB!
php配置
编辑/etc/php.ini文件,找到如session.save_path行,去掉注释,修改如下:
session.save_path = "/var/lib/php/session"
查看session目录是否存在,如果不存在,则手工创建 :
ls /var/lib/php/sessionmkdir /var/lib/php/session
为确保权限符合,更改session目录文件权限:
chown nginx:nginx /var/lib/php/session -R
phpmyadmin配置
复制phpMyAdmin目录到nginx根目录,以根目录为/srv/web为例:
cp /usr/share/phpMyAdmin/ /srv/web/phpMyAdmin;
!说明:centos以yum安装的phpmyadmin在/usr/share/目录下,archlinux的在/usr/share/webapps/目录下,其余发行版根据情操作。
phpMyAdmin可改为phpmyadmin或者其他便于操作的名字。如果更改了名字,那么nginx的配置时要改为相应的目录名称。
×也可软链接phpmyadmin目录:
ln -sf /usr/share/phpMyAdmin /srv/web/phpMyAdmin
php-fpm配置
编辑/etc/php-fpm.d/www.conf如下:
user = nginx #修改用户为nginxgroup = nginx #修改组为nginx
nginx配置
编辑/etc/nginx/conf.d/下的.conf文件,如果/etc/nginx/conf.d/中没有任何conf文件,下新建一个.conf文件,如website.conf,内容如下(据情况修改):
server {listen 80;#此处server_name后填写域名server_name www.xxx.com;#ngnix默认的主目录,可根据具体情况修改root /srv/web;# 添加上index.phpindex index.php index.html index.htm;# php解析location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}}
*禁止通过ip直接访问网站,防止恶意解析,添加一个新的server:
server{listen 80;# ip处填写服务器ip地址server_name: ip;return 444;}
在通过ip地址访问时会返回444http状态码,服务器不会返回信息给客户端,并且会关闭连接。
*
*权限问题:nginx主目录的权限要求文件权限644,文件夹755,所有者为nginx的执行用户(默认是nginx组的nginx),以根目录为/srv/web为例:
chown -R nginx.nginx /srv/web/find /srv/web/ -type f -exec chmod 644 {} \;find /srv/web/ -type d -exec chmod 755 {} \;
可以将3条命令写入bashrc以alias方式存储方便执行,如写进/etc/bashrc,nano.bashrc,再文件末尾写入:
alias webroot='chown -R nginx.nginx /srv/web/ && find /srv/web/ -type d -exec chmod 755 {} \; && find /srv/web/ -type f -exec chmod 644 {} \;'
保存并执行source /etc/bashrc 使其生效。以后遇到权限问题,只要执行webroot就可以了。
测试
配置完后,测试前重启所有服务:
systemctl restart nginx mariadb php-fpm
- 测试nginx:
nginx -t
成功则返回如下内容:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
登录网站测试,在浏览器打开域名或IP。
测试php解析:
添加phpinfo.php测试文件到根目录,其内容为:
<?phpphpinfo();?>
保存后,打开网站,例如网址是xxx.com,浏览xxx.com/info.php,就可以看到php详情页面。
- mariadb测试,以主目录下phpMyAdmin名字未更改为例,例如网址是xxx.com,浏览xxx.com/phpMyAdmin进入到mariadb的登录页面,用户名root,密码是mariadb配置时输入的密码。
附件列表
基于centos的lnmp搭建的更多相关文章
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.7. 配置资源与参数
2.7.配置资源与参数 2.7.1. 修改主机名称 [root@linuxrac1 ~]# cd /etc/sysconfig [root@linuxrac1 sysconfig]# vi netwo ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.6. 安装Oracle所依赖的必要包
2.6. 安装Oracle所依赖的必要包 2.6.1. 检查Oracle所依赖的必要rpm包 [root@localhost /]#rpm -q binutils compat-libstdc elf ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.5. 配置网络
2.5. 配置网络 2.5.1. 配置网络 Oracle Rac数据库涉及到公用网络和私有网络,因此要做网络划分和IP地址规划,下表列出了要安装的RAC数据库对应的IP地址.主机名以及网络连接类型: ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.4. 安装JDK
2.4.安装JDK 2.4.1.准备JDK 在百度搜索:JDK下载 2.4.2.上传JDK put E:\软件安装文件\jdk-8u11-linux-x64.rpm /home/linuxrac1/D ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.3配置共享磁盘
2.3.配置共享磁盘 2.3.1.创建共享磁盘 在cmd中进入WMware Workstation 10.0 安装目录: 1.创建存储Oracle Clusterware文件 (Oracle Clu ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.2安装操作系统CentOS5.4
2.2. 安装操作系统CentOS5.4 两个虚拟机都安装,此步骤在创建虚拟机节点时: 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境所有链接: 1.资源 ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.1创建虚拟机
2.1.创建虚拟机 2.1.1. 创建虚拟机节点1 2.1.2. 创建虚拟机节点2 操作如节点1. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境所有链 ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:1.资源准备
最近,在VmwareStation 10虚拟机上,基于CentOS5.4安装Oracle 11g RAC,并把过程记录下来.刚开始时,是基于CentOS 6.4安装Oracle 11g RAC, 没有 ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.1.系统界面报错Gnome
1.错误信息:登录系统后,屏幕弹出几个错误对话框,无菜单.无按钮 GConf error: Failed to contact configuration server; some possible ...
随机推荐
- Spark 入门
Spark 入门 目录 一. 1. 2. 3. 二. 三. 1. 2. 3. (1) (2) (3) 4. 5. 四. 1. 2. 3. 4. 5. 五. Spark Shell使用 ...
- .Net语言 APP开发平台——Smobiler学习日志:如何快速实现地图定位时的地点微调功能
Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 二.地点微调代码 VB: Dim ...
- sql将查询的结果集一次性插入到表变量中
sql代码: declare @Subject table (--题目表变量 SubjectID int, Question nvarchar(MAX), CorrectAnswer ), Expla ...
- 关于linux下crontab的使用
minute hour day month dayofweek command minute - 从0到59的整数 hour - 从0到23的整数 day - 从1到31的 ...
- Eclipse Maven Spring MyBatis 配置
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
- java web学习总结(二十三) -------------------编写自己的JDBC框架
一.元数据介绍 元数据指的是"数据库"."表"."列"的定义信息. 1.1.DataBaseMetaData元数据 Connection.g ...
- jdk源码分析PriorityQueue
一.结构 PriorityQueue是一个堆,任意节点都是以它为根节点的子树中的最小节点 堆的逻辑结构是完全二叉树状的,存储结构是用数组去存储的,随机访问性好.最小堆的根元素是最小的,最大堆的根元素是 ...
- css单行文本与多行溢出文本的省略号问题
在文字布局和代码编写过程中遇到文本溢出是常有的事,下面总结一下对于单行文本溢出和多行文本溢出省略号的处理. 一.单行文本省略号 <p class="text1"> 这是 ...
- 日期关联取最近日期的SQL
SQL怎么关联,如下图A表用日期加产品编号关联B表的时候,如果日期不存在,则取之前最近一个日期的值,比如A表2012-07-31 关联B表,B表没有对应日期的,就取2012-07-30的 A表 ...
- Sybase_游标
本章将介绍如何在Sybase下使用游标 因业务需要,要批量处理一些数据,sql需要用到循环,所以要使用游标,我写了一个简单的游标,sql如下 DECLARE my_Cursor CURSOR FOR ...