LNMP代表的就是:Linux系统下Nginx+MysqL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centosubuntufedoragentoo等。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器
MysqL是一个小型关系型数据库管理系统。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
(一)首先需要安装一个Ubuntu系统,我是在虚拟机上安装的,过程非常简单
我们先要配置系统的网卡,让他可以上网,并设置他的DNS
root@bogon:~#vim/etc/network/interfaces root@bogon:~#vim/etc/resolv.conf
然后重启网卡,Ubuntu和centos重启网卡的命令并不相同
root@bogon:~#ifdowneth0&&ifupeth0
查看一下网卡信息确认是否已经配置好
(二)
然后进行下一步,安装Nginx,可以到官网下载,找到稳定版
打开/etc/apt/source.list文件,将下面两行命令粘贴到文件的末尾,不要粘错了!!
debhttp://Nginx.org/packages/ubuntu/codenameNginx deb-srchttp://Nginx.org/packages/ubuntu/codenameNginx
然后将codename改成trusty,不同版本的系统替换的单词不同,到官网查找即可
下载秘钥
root@bogon:~#wgethttp://Nginx.org/keys/Nginx_signing.key
下载后执行下面的这条命令
root@bogon:~#apt-keyaddNginx_signing.key
root@bogon:~#apt-getupdate root@bogon:~#apt-getinstallNginx root@bogon:~#serviceNginxstart
我们看一下80端口起来没有
root@bogon:~#netstat-ntpl|grep80
设置一下防火墙允许80端口通过,ubuntu和centos命令也不同
root@bogon:~#ufwallow80
(三)
先建立MysqL相关的用户、组、文件夹,将新建的目录递归设置属主MysqL和属组MysqL
root@bogon:~#groupaddMysqL root@bogon:~#useradd-gMysqLMysqL-s/bin/false root@bogon:~#mkdir-p/Disk/data/MysqL/var root@bogon:~#chown-RMysqL:MysqL/Disk/data/MysqL/var
解压MysqL包。
root@bogon:~#tarzxvfMysqL-5.5.35.tar.gz
安装一些程序包,否则后面会报错
root@bogon:~#apt-getinstallg++ root@bogon:~#apt-getinstalllibaio1 root@bogon:~#apt-getinstalllibncurses5-dev root@bogon:~#apt-getinstalllibncurses5 root@bogon:~#wgethttp://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz root@bogon:~#tarzxvfbison-2.5.1.tar.gz root@bogon:~#cdbison-2.5.1/ root@bogon:~/cdbison-2.5.1#./configure
在配置过程中会出错,是因为没有安装m4
root@bogon:~/cdbison-2.5.1#apt-getinstallm4 Ubuntu中没有make命令,安装一下。在Ubuntu中用apt-get命令 root@bogon:~/cdbison-2.5.1#apt-getinstallmake root@bogon:~/cdbison-2.5.1#make&&makeinstall
然后进行MysqL的安装
root@bogon:~#cdMysqL-5.5.35/ root@bogon:~/MysqL-5.5.35#cmake.-DCMAKE_INSTALL_PREFIX=/Disk/local/MysqL-DMysqL_DATADIR=/Disk/data/MysqL/var-DSYSCONFDIR=/etc
你会看到Ubuntu上cmake命令也没有
root@bogon:~/MysqL-5.5.35#apt-getinstallcmake
再cmake一下,如果还报错,就rm CMakeCache.txt
成功后编译安装
root@bogon:~/MysqL-5.5.35#make&&makeinstall
MysqL安装好后就可以进行配置了,一定要在安装目录下进行
root@bogon:~#cd/Disk/local/MysqL root@bogon:~/Disk/local/MysqL#cp./support-files/my-huge.cnf/etc/my.cnf
root@bogon:~/Disk/local/MysqL#vim/etc/my.cnf root@bogon:~/Disk/local/MysqL#mv/etc/my.cnf/etc/my.cnf.bak root@bogon:~/Disk/local/MysqL#vim/etc/my.cnf.bak root@bogon:~/Disk/local/MysqL#vim/etc/my.cnf
将以下配置写到配置文件中
[client] port=3306 socket=/tmp/MysqL.sock [MysqLd] datadir=/Disk/data/MysqL/var port=3306 socket=/tmp/MysqL.sock skip-external-locking key_buffer_size=256M max_allowed_packet=20M sort_buffer_size=2M read_buffer_size=2M read_rnd_buffer_size=8M myisam_sort_buffer_size=64M #server-id=1 #xzy thread_stack=192K thread_cache_size=64 myisam-recover=BACKUP max_connections=5000 query_cache_limit=2M query_cache_size=256M #错误日志记录 log_error=/Disk/log/MysqL/error.log #慢查询日志 #slow-query-log=/Disk/log/MysqL/MysqL-slow.log #long_query_time=5 #log-queries-not-using-indexes #二进制文件日志 log_bin=/Disk/log/MysqL/MysqL-bin.log binlog_format=row expire_logs_days=10 max_binlog_size=100M #不区分大小写 lower_case_table_names=1 [MysqLdump] quick max_allowed_packet=16M [MysqL] no-auto-rehash [myisamchk] key_buffer_size=256M sort_buffer_size=256M read_buffer=2M write_buffer=2M [MysqLhotcopy] interactive-timeout
新建日志文件,并设置属主和属组
root@bogon:~/Disk/local/MysqL#kdir-p/Disk/log/MysqL root@bogon:~/Disk/local/MysqL#chown-RMysqL:MysqL/Disk/log/MysqL
初始化数据库
root@bogon:~/Disk/local/MysqL#/Disk/local/MysqL/scripts/MysqL_install_db--user=MysqL
把MysqL加入系统启动,他会告诉你找不到/etc/rc.d/init.d/MysqLd文件
root@bogon:~/Disk/local/MysqL#cp./support-files/MysqL.server/etc/rc.d/init.d/MysqLd
此时进入当前目录下的support-files/目录
root@bogon:~/Disk/local/MysqL/support-files#./MysqL.serverrestart
这样就将MysqL启动起来了
MysqL使用3306端口,将3306端口加入防火墙
root@bogon:~#ufwallow3306
查看防火墙状态
root@bogon:~#ufwstatus
最后就是给MysqL数据库里的root账号一个密码,这个MysqL的root不是指操作系统的root,而是指这个数据库管理系统的root
root@bogon:~/Disk/local/MysqL/bin#./MysqLadmin-urootpassword'666666'
接下来我们修改一下/etc/profile文件将这句话加到文件末尾,把MysqL服务加入系统环境变量
exportPATH=$PATH:/Disk/local/MysqL/bin
使配置立即生效source /etc/profile 这样我们就能Tab出MysqL命令了
root@bogon:~#MysqL-uroot-p
我们用windows下的Natcivat连接服务器MysqL,出现1130错误提示,是因为远程服务器无权限登录MysqL
对root用户授权并设置密码
MysqL>grantallon*.*to'root'@'%'identifiedby'888888';
root@bogon:~#apt-getinstallPHP5 root@bogon:~#apt-getinstallPHP5-fpm root@bogon:~#apt-getinstallPHP5-curl root@bogon:~#apt-getinstalllibmcrypt4PHP5-mcrypt root@bogon:~#apt-getinstallPHP5-gd root@bogon:~#apt-getinstallPHP5-xmlrpc root@bogon:~#apt-getinstalllibapache2-mod-PHP5 root@bogon:~#apt-getinstallPHP5-MysqL root@bogon:~#/etc/init.d/PHP5-fpmstart
然后将PHP和Nginx进行整合,修改默认配置文件,将下面的代码取消注释
root@ubuntu:/etc/Nginx/conf.d#vimdefault.conf location~\.PHP${ roothtml; fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.PHP; fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; includefastcgi_params; }
如果更改了端口,记得设置防火墙!!!修改完配置文件后,记得重启Nginx服务!!!
检查一下9000端口是否开启,如果没有的话
修改/etc/PHP5/fpm/pool.d/www,conf,将文件中的Listen改为9000
在网站根目录/usr/share/Nginx/html下新建一个index.PHP文件,写入<?PHP PHPinfo();?>
记得重启PHP5-fpm服务!!!
在浏览器地址中输入http://本机地址/index.PHP就能访问到PHP页面了
(五)现在讲lnmp环境搭建好了,接下来安装discuz论坛
将Discuz_X3.3_SC_UTF8.zip压缩包解压到网站根目录下/usr/share/Nginx/html
安装unzip命令 -d 指定解压目录
会得到三个文件夹upload、readme、utility
对网站根目录设置权限
root@bogon:~#chmod-R777/usr/share/Nginx/html/
用浏览器访问http://主机地址/upload/install/index.PHP