美文网首页
CentOS 6.5搭建LNMP环境(非一键脚本)

CentOS 6.5搭建LNMP环境(非一键脚本)

作者: purewater2014 | 来源:发表于2017-06-06 12:00 被阅读171次

1 Linux系统

Linux系统分支众多,其发行版本可以根据打包方式分为两类:一类是基于Dpkg的Debian系,一类是基于RPM的Red Hat系。前者由社区组织维护发行,包括Debian、Ubuntu等;后者一般是商业公司维护发布,包括CentOS、Fedora、RHEL等。在稳定性方面,红帽RHEL和CentOS性能相对较好。
很牛逼的样子?NO,请叫我 wiki 搬运工。那么如何查看自己的主机类型呢?

查看系统使用的Linux内核版本
# cat /proc/version
Linux version 2.6.32-358.6.2.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Thu May 16 20:59:36 UTC 2013
查看系统所属的Linux发行版本

cat /etc/redhat-release

CentOS release 6.5 (Final)
2 更新基于Shell前端的RPM包管理器:yum源
相对于用RPM包安装软件,yum能更方便快捷,还能自动安装所需依赖包。因此,我们需要根据自己的主机类型找到对应的yum源进行更新。考虑到和谐,推荐使用国内的开源镜像源,例如 网易、华科、搜狐 等。这里以163镜像为例:

##### 先备份原有的yum源文件
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup;
##### 切换到yum源文件根目录
# cd /etc/yum.repos.d/
##### 根据步骤1中内核版本获取网易相应的CentOS的Base repo
# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
##### 重命名为CentOS-Base.repo
# mv CentOS6-Base-163.repo CentOS-Base.repo
##### 建立缓存
# yum makecache
##### 更新yum资源库(第一次可能会持续较长时间)
# yum update

3 进入正题:搭建LNMP环境
直接使用下面这条命令即可搭建LNM环境,这其中除了php-fpm外还包括了其它几个常用的php扩展,例如php-dev、php-mysql等。

# yum -y  install nginx mysql mysql-server php-fpm php-devel php-cli php-mysql
php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy

4 查看LNMP是否搭建成功:
可以通过以下命令分别检测 Nginx、Mysql、Php 的版本。为了站点安全,大家不要把这些信息透露出来,包括在以后自己站点的 http 头等位置(方法会在接下来的文章中说明)。

##### Nginx版本,已 * 号代替
# nginx -v
nginx version: nginx/1.*.*
##### Mysql版本,已 * 号代替
# mysql -V
mysql  Ver 14.** Distrib 5.*.**, for redhat-linux-gnu (x86_64) using readline 5.1
##### Php版本,已 * 号代替
# php-fpm -v
PHP 5.*.* (fpm-fcgi) (built: *** ** **** **:**:**)
Copyright (c) 1997-2012 The PHP Group

5 (开机)启动 LNMP 环境

##### 重启 LNMP
# service nginx restart;    service php-fpm restart;    service mysqld restart;
##### 设置 LNMP 开机启动
# chkconfig nginx on;    chkconfig php-fpm on;    chkconfig mysqld on;

6 其它 LNMP 事项
这个时候,打开自己的域名(假设已绑定好了主机IP),可以看到nginx的welcome页面(其实就是/usr/share/nginx/html/index.html)!如果稍微调整下 nginx 的配置文件 default.conf 就可以浏览 php 页面了(会另文说明)。下面是 LNMP 环境默认的一些配置和日志信息。

##### 默认Nginx配置文件
/etc/nginx/nginx.conf  #具体配置在 /etc/nginx/conf.d/default.conf 中
##### 默认Nginx配置文件设置的web根路径
/usr/share/nginx/html/
##### 默认Nginx日志目录
/var/log/nginx
##### 默认Nginx端口
80

##### 默认php-fpm配置文件
/etc/php-fpm.conf
##### 默认php-fpm日志目录
/var/log/php-fpm

##### 默认php配置文件
/etc/php.ini

##### 默认mysql配置文件
/etc/my.cnf
##### 默认mysql错误日志文件
/var/log/mysqld.log
##### 默认mysql端口
3306
systemctl start mysql.service 启动
 systemctl enable mysql.service:开机自启动
显示所有已启动的服务  chkconfig --list  systemctl list-units —type=service
检查服务状态  service httpd status  systemctl status httpd.service(服务详细信息) systemctl is-active httpd.service 
使某服务自动启动  chkconfig --level 3 httpd on  systemctl enable httpd.service
使某服务不自动启动  chkconfig --level 3 httpd off  systemctl disable httpd.service

 卸载:rpm -e --nodeps mariadb-devel-5.5.41-2.el7_0.x86_64
 卸载:rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
  rpm -qa | grep -i mysql

问题:
1.service mysqld restart:无法启动

[root@iZ28vri4x8cZ ~]# vi /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
After=network.target

[Service]
ExecStart=/usr/bin/mysqld --defaults-file=/etc/mysql/my.cnf --datadir=/var/lib/mysql --socket=/var/run/mysqld/mysqld.sock
User=mysql
Group=mysql
WorkingDirectory=/usr

[Install]
WantedBy=multi-user.target

2.更改mysql密码

update user set password=PASSWORD("新密码") where user='root'
重启mysql 

3.nginx报 File not found 错误
访问php文件提示not found,
可能原因之一:/etc/nginx/conf.d/default.conf的root路径和php解析部分配置不对。
解决:将root定义放到server下,或者在php解析部分的root定义为全路径(在server块下,加root <path>)。同时将fastcgi_param部分改为$document_root$fastcgi_script_name;

  location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

相关文章

网友评论

      本文标题:CentOS 6.5搭建LNMP环境(非一键脚本)

      本文链接:https://www.haomeiwen.com/subject/jiugfxtx.html