部署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目录是否存在,如果不存在,则手工创建 :

  1. ls /var/lib/php/session
  2. mkdir /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如下:

  1. user = nginx #修改用户为nginx
  2. group = nginx #修改组为nginx

nginx配置

编辑/etc/nginx/conf.d/下的.conf文件,如果/etc/nginx/conf.d/中没有任何conf文件,下新建一个.conf文件,如website.conf,内容如下(据情况修改):

  1. server {
  2. listen 80;
  3. #此处server_name后填写域名
  4. server_name www.xxx.com;
  5. #ngnix默认的主目录,可根据具体情况修改
  6. root /srv/web;
  7. # 添加上index.php
  8. index index.php index.html index.htm;
  9. # php解析
  10. location ~ \.php$ {
  11. fastcgi_pass 127.0.0.1:9000;
  12. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  13. include fastcgi_params;
  14. }
  15. }

*禁止通过ip直接访问网站,防止恶意解析,添加一个新的server:

  1. server{
  2. listen 80;
  3. # ip处填写服务器ip地址
  4. server_name: ip;
  5. return 444;
  6. }

在通过ip地址访问时会返回444http状态码,服务器不会返回信息给客户端,并且会关闭连接。

*

*权限问题:nginx主目录的权限要求文件权限644,文件夹755,所有者为nginx的执行用户(默认是nginx组的nginx),以根目录为/srv/web为例:

  1. chown -R nginx.nginx /srv/web/
  2. find /srv/web/ -type f -exec chmod 644 {} \;
  3. 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测试文件到根目录,其内容为:

  1. <?php
  2. phpinfo();
  3. ?>

保存后,打开网站,例如网址是xxx.com,浏览xxx.com/info.php,就可以看到php详情页面。

  • mariadb测试,以主目录下phpMyAdmin名字未更改为例,例如网址是xxx.com,浏览xxx.com/phpMyAdmin进入到mariadb的登录页面,用户名root,密码是mariadb配置时输入的密码。

附件列表

基于centos的lnmp搭建的更多相关文章

  1. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.7. 配置资源与参数

    2.7.配置资源与参数 2.7.1. 修改主机名称 [root@linuxrac1 ~]# cd /etc/sysconfig [root@linuxrac1 sysconfig]# vi netwo ...

  2. 基于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 ...

  3. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.5. 配置网络

    2.5. 配置网络 2.5.1. 配置网络 Oracle Rac数据库涉及到公用网络和私有网络,因此要做网络划分和IP地址规划,下表列出了要安装的RAC数据库对应的IP地址.主机名以及网络连接类型: ...

  4. 基于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 ...

  5. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.3配置共享磁盘

    2.3.配置共享磁盘 2.3.1.创建共享磁盘 在cmd中进入WMware Workstation 10.0 安装目录: 1.创建存储Oracle Clusterware文件  (Oracle Clu ...

  6. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.2安装操作系统CentOS5.4

    2.2. 安装操作系统CentOS5.4 两个虚拟机都安装,此步骤在创建虚拟机节点时: 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境所有链接: 1.资源 ...

  7. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.1创建虚拟机

    2.1.创建虚拟机 2.1.1. 创建虚拟机节点1 2.1.2.  创建虚拟机节点2 操作如节点1. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境所有链 ...

  8. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:1.资源准备

    最近,在VmwareStation 10虚拟机上,基于CentOS5.4安装Oracle 11g RAC,并把过程记录下来.刚开始时,是基于CentOS 6.4安装Oracle 11g RAC, 没有 ...

  9. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.1.系统界面报错Gnome

    1.错误信息:登录系统后,屏幕弹出几个错误对话框,无菜单.无按钮 GConf error: Failed to contact configuration server; some possible ...

随机推荐

  1. 在数据库访问项目中使用微软企业库Enterprise Library,实现多种数据库的支持

    在我们开发很多项目中,数据访问都是必不可少的,有的需要访问Oracle.SQLServer.Mysql这些常规的数据库,也有可能访问SQLite.Access,或者一些我们可能不常用的PostgreS ...

  2. linux安装中文字体

    一.查看系统字体 在开始安装之前,我们先查看系统中已经安装的字体. 要查看系统中已经安装的字体,我们可以使用fc-list命令进行查看.如果系统中没有该命令的话,我们需要先安装相关的软件包. 在cen ...

  3. transformjs玩转星球

    如你所见.这篇就是要讲下使用transformjs制作星球的过程.你也可以无视文章,直接去看源码和在线演示: 源码 | 在线演示 代码100行多一点,直接看也没有什么压力.下面分几步讲解下. 生成球上 ...

  4. javascript操作系统检测

    function detectOS() { var sUserAgent = navigator.userAgent;console.log(sUserAgent); var isWin = (nav ...

  5. 移动端报表JS开发示例

    最近对移动端的报表开发颇有研究,细磨精算了好久,虽然到现在还是“囊中羞涩”,但决定还是先抛砖引玉,拿点小干货出来和大家分享. 研究的工具是比较有代表性的FineReport. 1.  移动端哪些地方支 ...

  6. 实现下来ScrollView放大轮播图

    创建工程,创建一个UIScrollView属性,并遵循其协议: #define kWidth self.view.frame.size.width//屏幕宽 #define kHeight self. ...

  7. iOS 获取当前点击的坐标

    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { NSSet *allTouch ...

  8. Unable to download data from http://ruby.taobao.org/ & don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

    安装cocoapods,记录两个问题! 1.镜像已经替换成了 http://ruby.taobao.org/, 还是不能不能安装cocoapods, 报错:Unable to download dat ...

  9. 在Ubuntu和Linux Mint上安装Oracle JDK

    在Ubuntu和Linux Mint上安装Oracle JDK 使用下面的命令安装,只需一些时间,它就会下载许多的文件,所及你要确保你的网络环境良好: sudo add-apt-repository ...

  10. Razor速记

    1.语法 @{     int c=2; } @for(int i=0;i<c;i++) {     @i     @:@i     @:select     @:select @i     s ...