Rhel7.2-Lnmp服务搭建及配置

来源:互联网 发布:如何上传图片到淘宝 编辑:程序博客网 时间:2024/06/05 07:07
LNMP简介
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。

这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

一、安装Nginx

Nginx的最新稳定版本为1.6.0,其安装文件可以从官网下载http://www.nginx.org/下载。这边以稳定版1.6.0为例

1)配置好本地Yum源。安装GCC C++ 编译器


2)Nginx的配置及运行需要pcre zlib 软件包的支持 所以安装 pcre zlib包

[root@yankai ~]# yum install -y pcre-devel zlib-devel


3)Nginx服务程序默认以noboby身份运行,创建一个nginx的用户,不建立宿主文件夹

[root@yankai ~]# useradd -M -s /sbin/nologin nginx

二、安装Nginx

配置Nginx的编译选项时,将安装目录设为/usr/local/nginx 运行用户设为nginx 启动用http_stub_status_module模块统计

[root@yankai src]# tar zxf nginx-1.6.2.tar.gz 
[root@yankai src]# cd nginx-1.6.2/

[root@yankai nginx-1.6.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module

make && make install

1)为了使nginx服务器运行更加方便 可以为主程序nginx创建链接文件,以便管理员执行nginx命令就可以调用nginx主程序

[root@yankai nginx-1.6.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

[root@yankai nginx-1.6.2]# ls -l /usr/local/sbin/nginx 

lrwxrwxrwx. 1 root root 27 8月   2 12:24 /usr/local/sbin/nginx -> /usr/local/nginx/sbin/nginx



2)与Apache的主程序httpd类似 nginx的主程序提供了 -t 选项来对配置文件进行检查
[root@yankai ~]# nginx -t
[root@yankai ~]# nginx
[root@yankai ~]# netstat -anpt | grep nginx

3)访问Nginx页面 http://IP

4)主程序Nginx支持标准的进程信号,通过kill或killall命令发送HUP信号表示重载配置,若使用killall命令重载配置
[root@yankai ~]# killall -s HUP nginx
[root@yankai ~]# killall  -s QUIT nginx
5)使用nginx脚本
为了使nginx服务,启动-停止-重载等操作方便,可以编写Nginx服务脚本并使用chkconfig工具来进行管理
[root@yankai ~]# vim /etc/init.d/nginx  编写如下:


[root@yankai ~]# chmod +x /etc/init.d/nginx  ---给此目录权限
[root@yankai ~]# chkconfig --add nginx         ---添加为系统服务 
三、配置nginx.conf文件
在nginx服务中 主配置文件/usr/local/nginx/conf/nginx.conf中
1)全局配置
[root@yankai ~]# vim /usr/local/nginx/conf/nginx.conf  ---打开配置文件
#user  nobody;                             //运行用户
worker_processes  1;                  //工作进程数量
#error_log  logs/error.log;           //错误日志文件的位置
#pid        logs/nginx.pid;              //Pid文件的位置
2)http配置

修改网站名称www.yankai.com 默认首页添加index.php
3)添加nginx访问统计

nginx -s reload 
新的配置文件生效后,在浏览器访问www.yankai.com/status网站位置可以查看当前的统计信息。

(二)安装Mysql数据库

1、准备工作

  1)为了避免发生端口的冲突,程序冲突等现象,建议先查询Mysql软件的安装情况,确定没RPM方式安装的Mysql-server的软件包,否则建议卸载!

[root@yankai ~]# rpm -ivh /media/Packages/ncurses-devel-5.9-13.20130511.el7.x86_64.rpm                                                                                       //安装光盘自带的ncurses-devel包


2)Mysql5.5需要cmake编译安装,所以先安装cmake包

[root@yankai src]# tar zxf cmake-2.8.12.tar.gz 
[root@yankai src]# cd cmake-2.8.12/
[root@yankai cmake-2.8.12]# ./configure    gmake && gmake install


2)解包

[root@yankai src]# tar zxf mysql-5.5.38.tar.gz 
[root@yankai src]# cd mysql-5.5.38/



3)配置

[root@yankai mysql-5.5.38]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

  make && make install


4)优化调整

[root@yankai mysql-5.5.38]# cp support-files/my-medium.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@yankai mysql-5.5.38]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@yankai mysql-5.5.38]# chmod +x /etc/rc.d/init.d/mysqld
[root@yankai mysql-5.5.38]# chkconfig --add mysqld
[root@yankai mysql-5.5.38]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@yankai mysql-5.5.38]# . /etc/profile


5)初始化数据库

root@yankai mysql-5.5.38]# groupadd mysql
[root@yankai mysql-5.5.38]# useradd -M -s  /sbin/nologin mysql -g mysql
[root@yankai mysql-5.5.38]# chown -R mysql:mysql /usr/local/mysql/
[root@yankai mysql-5.5.38]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h yankai.cn password 'new-password'
Alternatively you can run:
/usr/local/mysql/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl
Please report any problems at http://bugs.mysql.com/

6)启动mysql服务

(三)安装PHP解析环境

1)编译安装PHP

yum  -y  install gd libxml2-devel libjpeg-devel libpng-devel

[root@yankai src]# tar zxf php-5.3.28.tar.gz 
[root@yankai src]# cd php-5.3.28/
[root@yankai php-5.3.28]# ./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib

make && make install


2)安装后调整

[root@yankai php-5.3.28]# cp php.ini-development /usr/local/php5/php.ini
[root@yankai php-5.3.28]# ln -s /usr/local/php5/bin/* /usr/local/bin/
[root@yankai php-5.3.28]# ln -s /usr/local/php5/sbin/* /usr/local/sbin/


3)安装ZendGuardLoader

[root@yankai src]# tar zxf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz 
[root@yankai src]# cd ZendGuardLoader-php-5.3-linux-glibc23-x86_64/

[root@yankai ZendGuardLoader-php-5.3-linux-glibc23-x86_64]# cd php-5.3.x/
[root@yankai php-5.3.x]# cp ZendGuardLoader.so /usr/local/php5/bin/php

vim /usr/local/php5/php.ini

添加以下


4)配置nginx支持PHP环境

启用php-fpm进程

如果选用FPM方式,则需启动PHP-FPM进程,以便监听PHP解析请求 PHP-FPM(默认监听本机的9000端口)

[root@yankai php-5.3.x]# cd /usr/local/php5/etc/

[root@yankai etc]# cp php-fpm.conf.default php-fpm.conf

[root@yankai etc]# useradd -M -s /sbin/nologin php

[root@yankai etc]# vim php-fpm.conf

pm.start_servers =20    //启动开启进程数
pm.min_spare_servers = 5 //最少空闲进程数
pm.max_children = 50 //最多空闲进程数
pm.max_spare_servers = 35

[root@yankai etc]# /usr/local/sbin/php-fpm 

[root@yankai etc]# netstat -anpt | grep php-fpm
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      37637/php-fpm: mast 


在php-fpm.conf文件中pid配置行指出了pid的信息,对应的实际路径为/usr/local/php5/var/run/php-fpm.pid.

可以修改Nginx的服务脚本。以便再启动/停止nginx服务器时讲PHP-Fpm也启动/停止

[root@yankai etc]# vim /etc/init.d/nginx  添加如下:


5)配置Nginx支持PHP解析

[root@yankai ~]# vim /usr/local/nginx/conf/nginx.conf 添加如下

#server {

                location ~ \.php$ {
                root    /var/www/yankai;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include    fastcgi.conf;
        }



6)写入测试页
vim /var/www/yankai/test.php

随后访问http://www.yankai.com/test.php

部署sky天空网站
 这里以天空网站为例 我已经下载好了sky的程序文件了 
官方:http://www.skyuc.com
[root@yankai ~]# yum install -y unzip
unzip -d /usr/local/nginx/html/ skyuc-master.zip  解压
[root@yankai ~]# cd /usr/local/nginx/html/
[root@yankai html]# cd skyuc-master/
[root@yankai skyuc-master]# mv  src/* /usr/local/nginx/html/
[root@yankai skyuc-master]# chown nginx.nginx /usr/local/nginx/html/
[root@yankai skyuc-master]# chmod +777  /usr/local/nginx/html/* -R

修改主配置文件
vim /usr/local/nginx/conf/nginx.conf
root   /usr/local/nginx/html;

nginx -t      nginx -s reload 
随后访问http://www.yankai.com   访问成功!