第4章:搭建LNMP环境
一、Nginx安装
###########安装###################
yum install -y pcre pcre-devel openssl openssl-devel zlib zlib-devel gcc gcc-c++
useradd -M -s /sbin/nologin nginx
tar zxf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure \
--prefix=/application/nginx-1.8.0 \
--user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
ln -s /application/nginx-1.8.0 /application/nginx
/application/nginx/sbin/nginx
在浏览器测试访问
###########修改配置文件##########
mkdir /application/nginx/conf/vhost
mkdir -p /data/www/heboan
mkdir -p /data/logs/nginx
cat /application/nginx/conf/nginx.conf
-------------------------------------
worker_processes 1;
error_log /data/logs/nginx/error.log;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
include vhost/*.conf;
}
------------------------------------
/application/nginx/conf/vhost/www.heboan.com.conf
server {
listen 80;
server_name www.heboan.com;
location / {
root /data/www/heboan;
index index.html index.htm;
}
}
########重载nginx配置测试############
/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx -s reload
浏览器访问http://www.heboan.com
二、安装MySQL
yum install -y libaio-devel
1、把包解压到/usr/local下,并且目录名称为mysql(为了保留版本和平台信息,我们可以使用软链接的方式)
tar zxf mysql-5.5.43-linux2.6-i686.tar.gz -C /usr/local/ cd /usr/local ln -s mysql-5.5.43-linux2.6-i686 mysql
2、创建mysql组和用户
groupadd -r -g 306 mysql useradd -g 306 -u 306 mysql
3、修改属主属组为mysql
chown mysql.mysql /usr/local/mysql/*
4、创建mysql数据存放目录(默认是存放在mysql安装目录的data目录里面,如使用默认的则不用创建)
在生产环境中,我们一般独立于放到其他目录,并且是在逻辑卷上,便于随着数据的增大,方便增加磁盘空间
mkdir -p /mysql/data chown -R mysql.mysql /mysql/data/
5、初始化mysql
cd /usr/local/mysql scripts/mysql_install_db --datadir=/mysql/data/ --user=mysql
6、完成初始化之后,把mysql的安装目录改回root
chown -R root /usr/local/mysql/*
7、为mysql提供主配置文件(根据实际情况选择相应的配置文件)
cd /usr/local/mysql/support-files/ cp my-medium.cnf /etc/my.cnf
8、修改my.cnf指定mysql数据文件的存放位置
# vim /etc/my.cnf 添加如下一行 [mysqld] datadir = /mysql/data
9、将mysql添加为系统服务,可使用service启动,并可使用chkconfig加载服务列表
cp mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on
10、修改PATH环境变量,让系统可以直接使用mysql的相关命令
# vim /etc/profile.d/mysql.sh export PATH=$PATH:/usr/local/mysql/bin
11、启动mysql
# service mysqld start Starting MySQL.... SUCCESS! # netstat -lnt |grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
12、默认没有密码,我们设置一个管理员密码,并登录
mysqladmin -uroot password '123456' mysql -uroot -p'123456'
测试是否可以连接数据库
# cat /data/www/heboan/mysql.php
<?php
$link=mysql_connect('localhost','root','463951510');
if(!$link) echo "failed!";
else echo "ok!";
mysql_close();
?>
浏览器访问www.heboan.com/mysql.php
三、安装PHP
yum -y install libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel \ libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses \ ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel \ openssl openssl-devel pcre pcre-devel libtermcap libtermcap-devel gcc gcc-c++
1、让编译的php支持mcrypt、mhash扩展
tar zxf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8 ./configure make install tar zxf mhash-0.9.9.tar.gz cd mhash-0.9.9 ./configure make && make install
2、编译安装php-5.4.25
tar zxf php-5.4.25.tar.gz cd php-5.4.25 ./configure \ --prefix=/usr/local/php5.4.25 \ --with-mysql=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --enable-mbstring \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-libxml-dir=/usr \ --enable-xml \ --enable-sockets \ --with-bz2 \ --with-config-file-scan-dir=/etc/php.d \ --with-config-file-path=/etc \ --with-mcrypt \ --enable-fpm make && make install
3、为php提供配置文件
cp php.ini-production /etc/php.ini
4、配置php-fpm
为php-fpm提供Sysv init脚本,并将其添加至服务列表: cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chkconfig --add php-fpm chkconfig php-fpm on
5、为php-fpm提供配置文件
cp /usr/local/php5.4.25/etc/php-fpm.conf.default /usr/local/php5.4.25/etc/php-fpm.conf
6、启动php-fpm
# service php-fpm start Starting php-fpm done # netstat -lnt Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 192.168.3.102:9000 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 0 :::22 :::* LISTEN tcp 0 0 ::1:25 :::* LISTEN
四、调整nginx虚拟主机配置文件
# cat /application/nginx/conf/vhost/www.heboan.com.conf
server {
listen 80;
server_name www.heboan.com;
location / {
root /data/www/heboan;
index index.html index.htm;
}
location ~ \.php$ {
root /data/www/heboan;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
access_log /data/logs/nginx/www.heboan.com.log;
}
/application/nginx/sbin/nginx -t /application/nginx/sbin/nginx -s reload
测试php
# cat /data/www/heboan/phpinfo.php <?php phpinfo(); ?>
浏览器访问www.heboan.com/phpinfo.php
每天进步一点,加油!
浙公网安备 33010602011771号