Linux Nginx网站服务
防伪码:山重水复疑无路,柳暗花明又一村
第二章 Nginx网站服务
前言:Nginx与apache的作用一样,都是为了搭建网站服务器,由俄罗斯人lgor Sysoev开发,是一款高性能、轻量级Web服务软件,中国使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。其优点如下:
1、稳定性高
2、系统资源消耗低
3、对HTTP并发连接的处理能力高(单台物理服务器可支持30000~50000个并发请求)
一、 安装及运行
1、 搭建yum仓库,安装支持软件
挂载rhel-6.5的光盘、复制到/a下
安装pcre,zlib软件开发包,以便提供相应的库和头文件,确保Nginx的安装顺利完成
2、 创建运行用户、组(nginx默认以nobody身份运行,不安全,所以需要创建用户)
3、 编译安装nginx
注:http_stub_status_module模块用来支持状态统计,便于查看服务器的连接信息
为了方便管理员直接执行nginx命令,我们为主程序nginx创建链接文件
4、 检查配置文件(nginx -t)并启动nginx服务,端口号为80,注意不要同时安装apache
在浏览器上看到下面的页面,说明nginx搭建成功
5、 使用nginx服务器脚本
Vi /etc/init.d/nginx
添加为系统服务
二、 访问状态统计及虚拟主机应用
1、 nginx的访问状态统计
Vim /usr/local/nginx/conf/nginx.conf,添加下图红钩的内容。
然后访问网站,看到如下内容表示成功。
注:其中“Active connections”表示当前的活动连接数,“server accepts handled requests”表示已经处理的连接信息
三个数字(从左至右)依次表示已处理的连接数,成功的TCP握手次数,已处理的请求数
1、 基于域名的虚拟主机
例如:在nginx服务器上搭建两个网站,www.google.com和www.baidu.com
1) 准备网站目录和网页
2) 搭建dns服务器
或者采用另外一种方法,修改hosts文件,就不用搭建dns服务器了
Vi /etc/hosts
再指向自己
Vi /etc/resolv.conf
3) 调整nginx.conf配置文件(把server区域复制一份修改即可)
4)访问网站
三、 LNMP平台的搭建
1、 安装mysql数据库
1)安装cmake和mysql
[root@yangwen ~]# cd /media/
[root@yangwen media]# ls
cmake-2.8.12.tar.gz php-5.3.28.tar.gz
mysql-5.5.38.tar.gz SKYUC_3.4.2_for_php5.3.zip
nginx ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
nginx-1.6.2.tar.gz
统一解包:
[root@yangwen media]# tar zxf cmake-2.8.12.tar.gz -C /usr/src/
[root@yangwen media]# tar zxf mysql-5.5.38.tar.gz -C /usr/src/
[root@yangwen media]# tar zxf php-5.3.28.tar.gz -C /usr/src/
[root@yangwen media]# tar zxf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/src/
安装cmake:
[root@yangwen media]# cd /usr/src/cmake-2.8.12/
[root@yangwen cmake-2.8.12]# ./configure && gmake && gmake install
安装MySQL:
[root@yangwen ~]# cd /usr/src/mysql-5.5.38/
[root@yangwen mysql-5.5.38]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc/
[root@yangwen mysql-5.5.38]# make && make install
2) 优化调整
[root@yangwen mysql-5.5.38]# cp support-files/my-medium.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@yangwen mysql-5.5.38]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@yangwen mysql-5.5.38]# chmod +x /etc/rc.d/init.d/mysqld
[root@yangwen mysql-5.5.38]# chkconfig --add mysqld
[root@yangwen mysql-5.5.38]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@yangwen mysql-5.5.38]# . /etc/profile
3)初始化数据库
[root@yangwen mysql-5.5.38]# groupadd mysql
[root@yangwen mysql-5.5.38]# useradd -M -s /sbin/nologin mysql -g mysql
[root@yangwen mysql-5.5.38]# chown -R mysql:mysql /usr/local/mysql/
[root@yangwen 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
4) 启动mysql服务
[root@yangwen ~]# service mysqld start
5) 修改mysql密码
[root@yangwen ~]# mysqladmin -u root password '123456'
2、 安装php解析环境
1)编译安装php
[root@yangwen ~]# yum -y install gd libxml2-devel libjpeg-devel libpng-devel
[root@yangwen ~]# cd /usr/src/php-5.3.28/
[root@yangwen 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
[root@yangwen php-5.3.28]# make && make install
2) 安装后的调整
[root@yangwen php-5.3.28]# cp php.ini-development /usr/local/php5/php.ini
[root@yangwen php-5.3.28]# ln -s /usr/local/php5/bin/* /usr/local/bin/
[root@yangwen php-5.3.28]# ln -s /usr/local/php5/sbin/* /usr/local/sbin/
3) 安装Zend(提高PHP程序执行效率,优化页面加载速度)
[root@yangwen ~]# cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/
[root@yangwen ZendGuardLoader-php-5.3-linux-glibc23-x86_64]# cd php-5.3.x/
[root@yangwen php-5.3.x]# cp ZendGuardLoader.so /usr/local/php5/lib/php/
[root@yangwen php-5.3.x]# vi /usr/local/php5/php.ini
在php.ini文件中添加以下两行
3、 配置nginx支持php环境
1)启用php-fpm进程
[root@yangwen ~]# cd /usr/local/php5/etc/
[root@yangwen etc]# cp php-fpm.conf.default php-fpm.conf
[root@yangwen etc]# useradd -M -s /sbin/nologin php
[root@yangwen etc]# vi php-fpm.conf
修改完成之后保存,然后执行:/usr/local/sbin/php-fpm
Netstat -anpt | grep php-fpm
[root@yangwen etc]# /usr/local/sbin/php-fpm
[root@yangwen etc]# netstat -anpt | grep php-fpm
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 38954/php-fpm
2)修改nginx脚本文件,使php-fpm自动运行
Vi /etc/init.d/nginx
在最后esac后面添加下面内容
3) 配置nginx支持解析php
[root@yangwen ~]# vim /usr/local/nginx/conf/nginx.conf
在server区域里面添加下面几行(有注释)
注:fastcgi_pass 127.0.0.1:9000; 指定php-fpm的监听地址
include fastcgi.conf; 加载默认的FastCGI配置
[root@yangwen ~]# service nginx reload
4、 php页面测试
编写一个网页test.php,内容如下:
在浏览器测试,显示ok说明连接数据库正常。
四、 部署web应用(搭建动态网站)
1、 下载网站代码
[root@yangwen ~]# yum -y install unzip
cp SKYUC_3.4.2_for_php5.3.zip /
unzip /SKYUC_3.4.2_for_php5.3.zip
2、设置权限
[root@yangwen /]# cd SKYUC.v3.4.2.SOURCE/
[root@yangwen SKYUC.v3.4.2.SOURCE]# mv wwwroot/ /var/www/google/skyuc
[root@yangwen SKYUC.v3.4.2.SOURCE]# cd /var/www/google/skyuc/
[root@yangwen skyuc]# chown -R php:php admincp/ data/ templates/ upload/
3、创建数据库、用户yangwen
4、安装网站
谢谢观看,真心的希望能帮到您!
本文出自 “一盏烛光” 博客,谢绝转载!