LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
(一)首先需要安装一个Ubuntu系统,我是在虚拟机上安装的,过程非常简单
安装好后就可以在系统上装nginx、mysql、php了。
我们先要配置系统的网卡,让他可以上网,并设置他的DNS
root@bogon:~# vim /etc/network/interfaces root@bogon:~# vim /etc/resolv.conf
然后重启网卡,Ubuntu和centos重启网卡的命令并不相同
root@bogon:~# ifdown eth0 && ifup eth0
查看一下网卡信息确认是否已经配置好
(二)
然后进行下一步,安装nginx,可以到官网下载,找到稳定版
打开/etc/apt/source.list文件,将下面两行命令粘贴到文件的末尾,不要粘错了!!
deb http://nginx.org/packages/ubuntu/ codename nginx deb-src http://nginx.org/packages/ubuntu/ codename nginx
然后将codename改成trusty,不同版本的系统替换的单词不同,到官网查找即可
下载秘钥
root@bogon:~# wget http://nginx.org/keys/nginx_signing.key
下载后执行下面的这条命令
root@bogon:~# apt-key add nginx_signing.key
最后更新源,安装nginx,启动nginx
root@bogon:~# apt-get update root@bogon:~# apt-get install nginx root@bogon:~# service nginx start
我们看一下80端口起来没有
root@bogon:~# netstat -ntpl | grep 80
设置一下防火墙允许80端口通过,ubuntu和centos命令也不同
root@bogon:~# ufw allow 80
用浏览器登录本机ip地址,就可以看到nginx的欢迎页面了
(三)
nginx装好后就可以安装mysql了
先建立mysql相关的用户、组、文件夹,将新建的目录递归设置属主mysql和属组mysql
root@bogon:~# groupadd mysql root@bogon:~# useradd -g mysql mysql -s /bin/false root@bogon:~# mkdir -p /Disk/data/mysql/var root@bogon:~# chown -R mysql:mysql /Disk/data/mysql/var
解压mysql包。
root@bogon:~# tar zxvf mysql-5.5.35.tar.gz
安装一些程序包,否则后面会报错
root@bogon:~# apt-get install g++ root@bogon:~# apt-get install libaio1 root@bogon:~# apt-get install libncurses5-dev root@bogon:~# apt-get install libncurses5 root@bogon:~# wget http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz root@bogon:~# tar zxvf bison-2.5.1.tar.gz root@bogon:~# cd bison-2.5.1/ root@bogon:~/cd bison-2.5.1# ./configure
在配置过程中会出错,是因为没有安装m4
root@bogon:~/cd bison-2.5.1# apt-get install m4 Ubuntu中没有make命令,安装一下。在Ubuntu中用apt-get命令 root@bogon:~/cd bison-2.5.1# apt-get install make root@bogon:~/cd bison-2.5.1# make && make install
然后进行mysql的安装
root@bogon:~# cd mysql-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-get install cmake
再cmake一下,如果还报错,就rm CMakeCache.txt
成功后编译安装
root@bogon:~/mysql-5.5.35# make && make install
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 -R mysql: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.server restart
这样就将mysql启动起来了
mysql使用3306端口,将3306端口加入防火墙
root@bogon:~# ufw allow 3306
查看防火墙状态
root@bogon:~# ufw status
最后就是给MySQL数据库里的root账号一个密码,这个MySQL的root不是指操作系统的root,而是指这个数据库管理系统的root
root@bogon:~/Disk/local/mysql/bin# ./mysqladmin -u root password '666666'
接下来我们修改一下/etc/profile文件将这句话加到文件末尾,把mysql服务加入系统环境变量
export PATH=$PATH:/Disk/local/mysql/bin
使配置立即生效source /etc/profile 这样我们就能Tab出mysql命令了
我们用账号密码登录下mysql
root@bogon:~# mysql -u root -p
再输入密码就能登录进行数据库的操作了
我们用windows下的Natcivat连接服务器Mysql,出现1130错误提示,是因为远程服务器无权限登录MySQL
对root用户授权并设置密码
mysql> grant all on *.* to 'root'@'%' identified by '888888';
(四)安装php,php的安装比较简单
root@bogon:~# apt-get install php5 root@bogon:~# apt-get install php5-fpm root@bogon:~# apt-get install php5-curl root@bogon:~# apt-get install libmcrypt4 php5-mcrypt root@bogon:~# apt-get install php5-gd root@bogon:~# apt-get install php5-xmlrpc root@bogon:~# apt-get install libapache2-mod-php5 root@bogon:~# apt-get install php5-mysql root@bogon:~# /etc/init.d/php5-fpm start
然后将PHP和nginx进行整合,修改默认配置文件 ,将下面的代码取消注释
root@ubuntu:/etc/nginx/conf.d# vim default.conf location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
如果更改了端口,记得设置防火墙!!!修改完配置文件后,记得重启nginx服务!!!
检查一下9000端口是否开启,如果没有的话
修改/etc/php5/fpm/pool.d/www,conf,将文件中的Listen改为9000
在网站根目录/usr/share/nginx/html下新建一个index.php文件,写入
记得重启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 -R 777 /usr/share/nginx/html/
用浏览器访问http://主机地址/upload/install/index.php
进入discuz安装首页进行安装,填写主机名,数据库密码,管理员密码
安装成功后用管理员登录就可以了