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. 16. 上述原因是由于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. (报错)
7. 这是由于configure一般的搜索编译路径为/usr/lib/下,因为php默认就在/usr/lib/下找相关库文件,而x64机器上是在:/usr/lib64.这时你就可以直接把需要的库文件从/usr/lib64中拷贝到/usr/lib/中去就可以了
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. 访问自己准备好的动态网站时报错
26. 这是由于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
转载于:https://blog.51cto.com/xiaqianfeng/1605995