linux下LEMP的搭建

LEMP平台由linux nginx mysql php组成 ,用来提供动态网站的web服务:
一:Nginx的安装:
1. [root@oracle nginx]# yum -y install pcre-devel zlib-devel
2. [root@oracle nginx]# useradd -M -s /sbin/nologin nginx
3. [root@oracle nginx-1.0.8]# tar -zxvf nginx-1.0.8.tar.gz -C /usr/src/
4. [root@oracle nginx-1.0.8]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
5. [root@oracle nginx-1.0.8]#make&& make install
6. [root@oracle nginx-1.0.8]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
二:mysql的安装:
1. [root@oracle mysql-5.1.55]# tar -zxvf mysql-5.1.55.tar.gz -C /usr/src
2. [root@oracle mysql-5.1.55]# ./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312
3. [root@oracle nginx]# useradd -M -u 27 -s /sbin/nologin mysql
4. [root@oracle support-files]# cp my-medium.cnf /etc/my.cnf
5. [root@oracle support-files]# cp mysql.server /etc/init.d/mysqld
6. [root@oracle support-files]# chmod a+x /etc/init.d/mysqld
7. [root@oracle support-files]# chkconfig --add mysqld
8. [root@oracle support-files]# ln -s /usr/local/mysql/bin/* /usr/local/bin/
9. [root@oracle support-files]# ln -s /usr/local/mysql/lib/mysql/* /usr/lib/
10. [root@oracle support-files]# ln -s /usr/local/mysql/include/mysql/* /usr/include/
11. [root@oracle bin]# ./mysql_install_db --user=mysql
12. [root@oracle bin]# chown -R root:mysql /usr/local/mysql/
13. [root@oracle bin]# service mysqld start
14. [root@oracle bin]# mysqladmin -u root password 'pwd123'(报错了)
15.  wKiom1S9sjmgaEkhAADBX-hc500103.jpg16. 上述原因是由于mysql生成的mysql.sock在/var/lib下 所以在TMP下就没有生成 解决办法
17. [root@oracle bin]# ln -s /var/lib/mysql/mysql.sock /tmp
18. [root@oracle bin]# mysqladmin -u root password 'pwd123'(再运行果然没有报错了)
三:php的编译安装:
1. [root@oracle nginx]# tar -zxvf php-5.3.6.tar.gz -C /usr/src/
2. [root@oracle php-5.3.6]# ./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
3. (报错)
4.    checking for xml2-config path...  configure: error: xml2-config not found. Please check your libxml2 installation.(这是由于libxml2这个包没有安装 yum安装就搞定)
5. [root@oracle php-5.3.6]# yum -y install libxml2-devel.x86_64
6. (报错) wKiom1S9sn6T-Ft6AAA8NdblWeQ554.jpg

7. 这是由于configure一般的搜索编译路径为/usr/lib/下,因为php默认就在/usr/lib/下找相关库文件,而x64机器上是在:/usr/lib64.这时你就可以直接把需要的库文件从/usr/lib64中拷贝到/usr/lib/中去就可以了

wKioL1S9s5bCjVAAAABqxaIe7eo846.jpg

8.  图中可以看到所要的包都在/usr/lib64下  但是缺少一个最关键的包 libpng.so 一定要注意不要把compiz下的libpng.so当做我们需要的,否则mysql连接的时候会报错
9. [root@oracle php-5.3.6]# rpm -pql /mnt/Packages/libpng-devel-1.2.49-1.el6_2.x86_64.rpm查询可知由他来提供这个包所以安装吧
10. [root@oracle php-5.3.6]# rpm -ivh /mnt/Packages/libpng-devel-1.2.49-1.el6_2.x86_64.rpm
11. [root@oracle php-5.3.6]# cp /usr/lib64/libpng.so* /usr/lib
12. [root@oracle php-5.3.6]# ./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(重新配置之后好了,接者下一步)
13. [root@oracle php-5.3.6]# make && make install
14. [root@oracle php-5.3.6]# cp php.ini-development /usr/local/php5/php.ini
15. [root@oracle php-5.3.6]# ln -s /usr/local/php5/bin/* /usr/local/bin/
16. [root@oracle php-5.3.6]# ln -s /usr/local/php5/sbin/* /usr/local/sbin/
17. [root@oracle nginx]# tar -zxvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
18. [root@oracle php-5.3.x]# cp /nginx/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so /usr/local/php5/lib/php/
19. [root@oracle php-5.3.x]# vim /usr/local/php5/php.ini
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend-loader.enable=1
20. 为了是nginx支持PHP环境有两种方法: 一:充当中介,讲访问PHP的请求转交 二:通过PHP的FPM模块的调用本机的PHP环境
选用FPM需要先启动php-fpm进程
21. [root@oracle etc]# cp /usr/local/php5/etc/php-fpm.conf.default  /usr/local/php5/etc/php-fpm.conf
user = nginx ――――――――――――――――――――>运行用户
group = nginx――――――――――――――――――――>运行组
pid = run/php-fpm.pid_――――――――――――――――>确认PID文件位置
pm.start_servers = 20―――――――――――――――――>启动时开启的进程数
pm.min_spare_servers = 5―――――――――――――――>最少空闲进程数
pm.max_spare_servers = 35―――――――――――――――>最大空闲进程数
22. [root@oracle etc]# php-fpm
23. 配置nginx使他支持php解析
24. [root@oracle etc]# vim /usr/local/nginx/conf/nginx.conf
    server {
        listen       80;
        server_name  www.benet.com;――――――――――――――――> 网站名
        location ~ \.php$ { ――――――――――――――――――――> 访问PHP页面的配置段
        root         /var/www/benet; ――――――――――――――> 网站根目录
        fastcgi_pass 127.0.0.1:9000;――――――――――――――――>PHP监听地址
        fastcgi_index index.php;――――――――――――――――――>php首页文件
        include      fastcgi.conf;―――――――――――――――――>包括fastcgi.conf样本配置
        }
        }
25. 访问自己准备好的动态网站时报错

wKiom1S9svKjUREuAAD4t46eKiw809.jpg26. 这是由于mysql的权限问题 导致不能连接
chown -R root:mysql /usr/local/mysql
chmod 755 /var/lib/mysql
chown -R root:mysql /var/lib/mysql/mysql
chmod 755 /usr/local/mysql/lib/mysql/libmysqlclient.a


你可能感兴趣的:(linux,LEMP)