服务器架设:CentOS搭建LNMP详细教程(转)

目前流行的配置是Linux+Nginx+PHP+MySQL,简称LNMP。下面简单介绍一下配置方法。

一、安装CentOS和LNMP包。

安装CentOS 5.5,系统安装完后自带APACHE,先运行yum remove httpd,删除Apache!

用SSH登录LINUX,安装LNMP。

1、下载LNMP一键安装包:

wget -c http://soft.vpser.net/lnmp/lnmp0.5.tar.gz
http://soft.vpser.net/lnmp/lnmp0.5.tar.gz

http://soft.vpser.net/lnmp/lnmp0.5-full.tar.gz 

2、解压LNMP一键安装包:

tar zxvf lnmp0.5.tar.gz

3、CentOS下安装步骤
# 下载版执行命令

cd lnmp0.5/

# 然后再执行

./centos.sh

,输入要绑定的域名,回车,再输入要设置的MySQL root的密码,再次回车确认。
程序会自动安装编译Nginx、PHP、MySQL、phpMyAdmin、Zend这几个软件。

虚拟主机管理
# 1、添加虚拟主机,执行如下命令:

./vhost.sh

根据提示输入要绑定的域名,回车,如果需要添加更多的域名,输入y,再输入要另外绑定的域名,多个域名可以用空格隔开。再输入域名绑定的目录(绝对 目录, 如/home/wwwroot/lnmp,如果不填默认是/home/wwwroot/绑定的域名),再选择是否添加伪静态规则,默认已经有了 Discuz、Wordpress、Sablog、emlog、dabr,可直接输入以上名称即可,如果需要添加自定义伪静态规则,直接输入一个想要的名 字,程序会自动创建伪静态文件,直接在/usr/local/nginx/conf/你自定义的伪静态名字.conf 里面添加伪静态规则就行。接下来会提示是否需要启用日志功能,一般情况下不需要启动,直接输入n就行,如需启动,输入y,再输入要定义的日志文件名字,回 车就会自动添加虚拟主机。

# LNMP状态管理:

/root/lnmp {start|stop|reload|restart|kill|status}

phpinfo : http://前面输入的域名或IP/phpinfo.php
phpMyAdmin : http://前面输入的域名或IP/phpmyadmin/
探针 : http://前面输入的域名或IP/p.php
MySQL root密码:如果不输入直接回车为root,否则为你输入的密码。

LNMP相关目录:
mysql : /usr/local/mysql
php : /usr/local/php
nginx : /usr/local/nginx
网站目录: /home/wwwroot

*添加虚拟主机域名也可以手动配置:

键入命令:

vi /usr/local/nginx/conf/nginx.conf

或者:

vi /usr/local/nginx/conf/vhost/*.conf

添加如下代码:

server
{
listen 80;
server_name www.***.com ***.com *.***.com;
index index.html index.htm index.php;
root /home/wwwroot/***;
location ~ .*\.(php|php5)?$
{
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
access_log off;
}

***改成你的域名就行,再建虚拟主机只要在下面添加 同样的代码就行;

再执行

kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

或者

/usr/local/nginx/sbin/nginx -s reload

之后虚拟机就生效了。

二、更新Nginx并重新编译Nginx使之支持IPv6(如果不需要IPv6支持,此部分可忽略)

请点这里:Nginx和Apache WEB服务器的IPv6设置

三、安装vsftpd
1.yum安装vsftpd:

yum install vsftpd
touch /var/log/vsftpd.log # 创建vsftp的日志文件

2.设置每次开机时自动运行及手工启动它:

chkconfig vsftpd on
service vsftpd start
netstat -tl

可以查看ftp端口是否在侦听了!
3.配置文件
配置/etc/vsftpd/ftpusers 和 /etc/vsftpd/user_list,#不能登陆FTP的用户;
配置 /etc/vsftpd/vsftpd.conf
#anonymous_enable=YES
anonymous_enable=NO #设定不允许匿名用户访问
chroot_local_user=YES #把系统内所有的FTP用户都限制在家目录中 xferlog_file=/var/log/vsftpd.log 设定vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来
ascii_upload_enable=YES
ascii_download_enable=YES 设定支持ASCII模式的上传和下载功能。
pam_service_name=vsftpd PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
4.设定FTP目录
修改 /home/wwwroot 目录属性:

chmod -R 777 /home/wwwroot

递归地给此目录下所有文件和子目录的读、写、执行权限

chgrp -R ftp   /home/wwwroot

递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组
5.增加FTP用户

adduser -d /home/wwwroot -g ftp -s /sbin/nologin 用户名

#增加用户,组是FTP,目录是/home/wwwroot

passwd 用户名

#设定用户密码
Changing password for user beinan.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
6.重启FTP

service vsftpd restart

guest_enable=YES 设定启用虚拟用户功能。
guest_username=ftp 指定虚拟用户的宿主用户。-CentOS中已经有内置的ftp用户了
user_config_dir=/etc/vsftpd/vuser_conf 设定虚拟用户个人vsftp的配置文件存放路径。存放虚拟用户个性的配置文件(配置文件名=虚拟用户名)
7.有时会出现上传多个小文件时卡住的情况,可以编辑/etc/vsftpd/vsftpd.conf如下:

connect_from_port_20=YES
pasv_min_port=49152
pasv_max_port=65534
data_connection_timeout=1

或者将文件打包上传到服务端再解压来解决此问题。
8.修改已有用户的FTP目录

usermod -d /home/www/abc.com abc

注: /home/www/abc.com 为修改的目标文件夹 abc 为要修改目录的用户名
9.vsftpd的默认设置是所有目录都可以被客户进入,极为不安全,因此要限制用户可以访问目录,设置方法如下:

chroot_local_user=YES

在vsftpd.conf最下面增加这一行,重启ftp即可

四、Linux系统常用命令

1.将tar.gz压缩文件在当前目录下解压缩命令:

tar zxvf filename.tar.gz

2.在CentOS中安装unzip
命令:

yum install unzip

将zip压缩文件在当前目录下解压缩
命令:

unzip filename.zip

3.建立目录命令为mkdir 目录名字

mkdir /home/wwwroot/abc.com

4.删除目录命令为 rm -rf 目录名字

rm -rf /home/wwwroot/abc.com

两个参数-rf 即:
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
删除文件使用 rm -f 文件名字

五、实例:安装WordPress设置固定链接教程

1.安装Wget

yum install wget

2.进入虚拟机所在目录

cd /home/wwwroot

3.下载WordPress到服务器并解压

wget http://wordpress.org/latest.tar.gz
tar zxvf latest.tar.gz

4.修改WordPress目录属性

chmod -R 777 /home/wwwroot/wordpress
chgrp -R ftp /home/wwwroot/wordpress
chown -R www /home/wwwroot/wordpress

5.nginx下WordPress的固定链接(Permalink)设置
编辑/usr/local/nginx/conf/nginx.conf文件,在server容器中添加下面这几行,其中wordpress目录按实际修改:

       location /wordpress/ {
rewrite ^index\.php$ - last;

if ( !-e $request_filename ) {
rewrite . /wordpress/index.php last;
}
}

修改完成以后,执行如下命令重启lnmp即可:

/root/lnmp restart
原文地址:https://www.cnblogs.com/vicowong/p/1979750.html