由于最近国内服务器老需要备案,网站都访问不了了。没办法尝试去国外花了两百多刀买了一个vps,开始自己部署服务器。由于自己linux基本上是小白,搞了一整天才搞出来这个攻略。为了以后能够再次恢复系统啥的,就记录了下来,搞篇日志,说不定哪位网友还能参考的价值。不多说了进入正题。
一、系统环境配置1.1、设置服务器时间
1
#cp /usr/share/zoneinfo/Asia/Shanghai/etc/localtime
查看时间修正
1
#date
1.2、更新服务器系统
1
#yum update
1.3、添加用户,设置密码,赋予权限
1
2
3
#adduser username
#passwd username
#vi /etc/sudoers
在rootALL=(ALL) ALL行下面增加usernameALL=(ALL) ALL保存即可退出利用username登录了
1.4、设置防火墙开发80端口
1
2
#vi cp /etc/sysconfig/iptables.old/etc/sysconfig/iptables
#vi /etc/sysconfig/iptables
增加两行到22端口规则下面
-A INPUT -m state --stateNEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --stateNEW -m tcp -p tcp --dport 21 -j ACCEPT
然后执行
1
#service iptables restart
可能会报错:iptables: Setting chains to policy ACCEPT: security rawnat[FAILED]filter
那么修改文件
1
#vi /etc/init.d/iptables
按照以下内容修改:
case "$i" in
security)
$IPTABLES -t filter -P INPUT$policy
&&$IPTABLES -t filter -P OUTPUT $policy
&&$IPTABLES -t filter -P FORWARD $policy
|| let ret+=1
;;
raw)
然后再重启就ok了,采用
1
#iptables –L
查看是否生效了。生效了的话,关闭selinux权限控制方便后期的操作
1
#vi /etc/selinux/config
注释所有的内容,增加一行
SELINUX=disabled
然后重启系统
1
#shutdown –r now
1.5、增加第三方的yum更新源地址
Niginx 官方的更新源增加
1
#vi/etc/yum.repos.d/nginx.repo
增加以下内容
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
下载第三方的配置文件运行脚本,并执行。
1
2
#wget http://www.atomicorp.com/installers/atomic
#sh ./atomic
该脚本会生成一个文件/etc/yum.repos.d/atomic.repo,即为我们增加了一个yun地址库,此时可以删除下载的配置脚本
1
#rm atomic
二、.安装服务器nginx+php+mysql+php-fpm2.1安装nginx
1
#yum install nginx
优化nginx配置
1
#vi /etc/nginx/nginx.conf
#根据CPU 核心processes,VPS下几个核心几个processes,独立服务器可x2
worker_processes 4;
#启用epoll
worker_rlimit_nofile 51200;
events {
worker_connections 51200;
use epoll;
}
#参数调整
sendfile on;
tcp_nopush on;
tcp_nodelay on;
server_tokens off;
keepalive_timeout 50;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
#fastcgi优化
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
#开启gzip并优化
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
然后启动nginx,并设为开机启动
1
2
#service nginx start
#chkconfig nginx on
这个时候你应该就能通过浏览器输入ip地址访问了出现
Welcome to nginx!
#备份原有配置文件,并修改用户配置
1
2
#cp/etc/nginx/conf.d/default.conf etc/nginx/conf.d/default.confbak
#vi /etc/nginx/conf.d/default.conf
设置默认的网站目录
去除下面这段内容的注释
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
注意其中fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径
2.2 安装mysql
1
#yum install mysql mysql-server
启动mysql,并设为开机启动
1
2
#service mysqld start
#chkconfig mysqld on
拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
1
#cp/usr/share/mysql/my-medium.cnf /etc/my.cnf
然后重启系统
1
#shutdown -r now
重新登录系统之后,设置数据库用户和密码
1
#mysql_secure_installation
然后首次进入直接enter键,然后根据要求一路选择即可,再重启mysql
1
#service mysqld restart
2.3 安装php
1
#yum install php
一路Y即可
安装php-fpm , php-mysql,php-gd等
1
#yum install php-fpm php-mysql php-gd
配置php.ini文件
1
#vi /etc/php.ini
作出如下修改
date.timezone= PRC #在946行 把前面的分号去掉,改为date.timezone= PRC disable_functions =passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit,posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#在386行 列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
expose_php = Off #在432行 禁止显示php版本的信息
magic_quotes_gpc = On #在745行 打开magic_quotes_gpc来防止SQL注入
保存退出之后,继续配置php-fpm.同样先备份文件,然后修该
1
2
#cp/etc/php-fpm.d/www.conf /etc/php-fpm.d/www.confbak
#vi /etc/php-fpm.d/www.conf
其中的端口要改为nginx配置中php运行相同的端口
Lister=127.0.0.1:9000
user = nginx #修改用户为nginx
group = nginx #修改组为nginx
保存退出,重启nginx和php-fpm
1
2
#service nginx restart
#service php-fpm restart
同样需要将php-fpm设为开机启动
1
#chkconfig php-fpm on
2.4 安装ftp工具vsftpd
1
#yum install vsftpd ftp
为ftp服务器创建log文件
1
#touch /var/log/vsftpd.log
然后启动服务,并设置为开机自动启动
1
2
#service vsftpd start
#chkconfig vsftpd on
然后编辑配置文件
1
#vi /etc/vsftpd/vsftpd.conf
修改相关参数如下:
#设定不允许匿名访问
anonymous_enable=NO
#设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问。
local_enable=YES
#使用户不能离开主目录,并制定文件
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
#设定vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来 ,前面步骤已经创建
xferlog_file=/var/log/vsftpd.log
#允许使用ASCII模式上传和下载
ascii_upload_enable=YES
ascii_download_enable=YES
#PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
pam_service_name=vsftpd
#以下这些是关于Vsftpd虚拟用户支持的重要CentOS FTP服务配置项目。默认vsftpd.conf中不包含这些设定项目,需要自己手动添加RHEL/CentOS FTP服务配置。
#设定启用虚拟用户功能。
guest_enable=YES
#指定虚拟用户的宿主用户。-RHEL/CentOS中已经有内置的ftp用户了
guest_username=ftp
#设定虚拟用户个人vsftp的RHEL/CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名) user_config_dir=/etc/vsftpd/vuser_conf
(注意:所有的注释和配置必须不能再同一行当中,否则启动会失败)
保存以上修改,退出。创建用户列表文件并将ftp用户添加到列表文件中
1
2
#touch /etc/vsftpd/chroot_list
#echo ftp >> /etc/vsftpd/chroot_list
那么接下来就是添加我们自己设定的ftp用户了,但用户的账号密码需要认证,所以需要安装相应的认证工具Berkeley DB工具
1
#yum install db4 db4-utils
安装之后,创建用户的账号密码文本
1
#vi /etc/vsftpd/vuser_passwd.txt
加入相应的用户信息,其中奇数行为你新增用户的账号,偶数行为密码,不能有空格喔
username1
password1
username2
password2
保存文件退出,生成用户认证的db文件
1
#db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
然后呢,再编辑认证管理器的配置信息
1
#vi /etc/pam.d/vsftpd
用#注释所有的内容,然后增加以下两行内容:
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
保存退出。再创建虚拟用户的ftp服务文件夹,以及前文中所增加的账号用户的配置文件
1
2
#mkdir /etc/vsftpd/vuser_conf/
#vi /etc/vsftpd/vuser_conf/username1
填写以下内容:
#username1用户的根目录(自己决定)
local_root=/etc/vsftpd/username1
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
保存内容,退出。要创建上述配置文件中所设置的用户根目录,并为其设置权限
1
2
3
#mkdir /etc/vsftpd/username1
#chmod 777 /etc/vsftpd/username1
#service vsftpd restart
此时,你的ftp应该已经可用了,那么可以用ftp测试以下
1
#ftp localhost
输入用户名和密码即可开始了!
三、测试篇
进入网站根目录建立一个测试的index.php文件,但是要记得赋予权限
1
2
#cd /usr/share/nginx/html
#vi index.php
<?php phpinfo();?>
chown nginx.nginx /usr/share/nginx/html/ -R #设置目录所有者
chmod700 /usr/share/nginx/html/ -R #设置目录权限
然后打开浏览器看,至此完成了nginx+php+mysql的环
最后再来一个压力测试,利用工具webbench,以下内容为互联网转载的
首先,我们先下载并安装webbench
wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install
如果出现下面错误提示:
ctags *.c
/bin/sh: ctags: command not found
可以使用yum安装ctags来解决这个问题
yum install ctags
或者自己手动安装
wget http://nchc.dl.sourceforge.net/project/ctags/ctags/5.8/ctags-5.8.tar.gz
tar zxvf ctags-5.8.tar.gz
./configure
make
make install
如果安装了ctags, 仍然报错:
install -s webbench /usr/local/bin
install -m 644 webbench.1 /usr/local/man/man1
install: cannot create regular file `/usr/local/man/man1': No such file or directory
make: *** [install] Error 1
我们可以通过自己创建文件夹来解决这个问题:
mkdir -m 644 -p /usr/local/man/man1
最后终于安装成功! 我们也可以进行压力测试了
webbench -c 500 -t 30 http://www.example.com/phpinfo.php
参数说明:-c表示并发数,-t表示时间(秒)
-bash-3.00$ webbench -c 3000 -t 30 http://www.example.com/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://www.example.com/phpinfo.php
3000 clients, running 30 sec.
Speed=8358 pages/min, 8791523 bytes/sec.
Requests: 4179 susceed, 0 failed.
-bash-3.00$
分享到:
相关推荐
CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本,Docker version 18.06.1-ce,docker-compose version 1.22.0
本教程将详细介绍如何在阿里云服务器上配置一个CentOS系统,然后安装Nginx作为反向代理服务器,以及Gunicorn作为WSGI服务器,最后集成Python和Flask来实现一个完整的Web服务环境。 首先,确保你的阿里云服务器是...
在本配置文档中,我们将详细讨论如何在 CentOS 系统上搭建一个基于 Nginx、FastCGI 和 MySQL 的服务器环境。这个配置过程涉及到多个步骤,包括安装必要的软件包、配置 Nginx 以及整合 PHP 和 MySQL。 首先,我们...
本文将详细介绍如何在CentOS7操作系统上配置PHP+nginx+MySQL的环境,以及使用自动脚本来简化这一过程。这个环境是许多网站和应用程序的常用基础架构,它提供了强大的动态内容处理(PHP),高效的静态资源服务(nginx...
### CentOS 下安装 Nginx + PHP + MySQL 的详细步骤与注意事项 #### 一、环境准备与概述 在本文档中,我们将详细介绍如何在 CentOS 6.5 64位操作系统上搭建 LNMP (Nginx + MySQL + PHP) 环境。LNMP 是一种非常流行...
CentOs5.5+mysql+nginx+php5.3.3安全安装手册.doc
### CentOS 下安装配置 Nginx + MySQL + PHP 环境 #### 一、安装 MySQL 在 CentOS 下安装 MySQL 的过程主要包括用户与用户组的创建、配置安装路径、编译安装以及配置 MySQL 服务等步骤。 ##### 1.1 建立相关用户...
Windows8上安装虚拟机VirtualBox,然后新建虚拟电脑,搭建CentOS6.5 + mysql + nginx + php + memcached平台环境,部署网站。文档中记录了部分FAQ。
centOS8 安装LNMT(nginx+mysql+tomcat),此文档为本人原创的文档,有兴趣可以看一下: 本文在centos8基础上进行安装,软件版本如下: 名称 版本 安装方式 备注 jdk 13.0.2 rpm Oracle jdk,目前最新版本 nginx...
Linux CentOS下搭建DNS+squid+nginx+mysql高可用web服务器.zip
1. CentOS7服务器环境配置: - CentOS 7是企业中常用的Linux发行版,适合作为服务器操作系统。它稳定、安全,得到广泛的应用支持。 2. Flask环境搭建: - Flask是一个轻量级的Web应用框架,使用Python语言编写。...
CentOS系统安装配置Nginx+keepalived实现负载均衡 本文将详细介绍CentOS系统安装配置Nginx+keepalived实现负载均衡的步骤和配置过程。通过本文,读者将了解如何使用Nginx和keepalived来实现高可靠性的负载均衡架构...
CentOS 6.2 yum安装配置lnmp服务器(Nginx+PHP+MySQL)
### 基于CentOS 5.4搭建nginx+php+spawn-fcgi+mysql高性能PHP平台 #### 平台概述 在《基于CentOS 5.4搭建nginx+php+spawn-fcgi+mysql高性能php平台》这篇技术文章中,作者哈密瓜详细介绍了如何在CentOS 5.4上构建一...
### CentOS+Nginx+PHP+MySQL 详细配置解析 #### 一、理解 Nginx 及其重要性 Nginx 是一款轻量级、高性能的 Web 服务器及反向代理服务器,它同样具备 IMAP/POP3/SMTP 代理服务功能。这款由俄罗斯开发者 Igor Sysoev...
这里我们关注的是在CentOS操作系统上使用Nginx作为Web服务器,并结合PHP的FastCGI模式进行编译安装。这种组合通常被称为“Nginx + PHP-FPM”配置,能够提供高性能、低资源消耗的网站服务。下面将详细阐述这一过程...
CentOS+Nginx+PHP+MySQL 配置详解 在本文中,我们将详细介绍如何在 CentOS 平台上安装和配置 Nginx、PHP 和 MySQL,实现一个完整的 Web 服务器环境。 一、Nginx 介绍 Nginx 是一个高性能的 HTTP 和反向代理服务器...
阿里云centos7.0操作系统上php+nginx+mariadb(mysql)环境的搭建,自己按照这个步骤,半小时就搞定了
在配置CentOS下的Nginx+Mysql+PHP+Tomcat的环境时,首先需要进行的是CentOS的安装和基础配置。以下为详细的步骤: ### 安装CentOS 7.0 1. 在安装CentOS时选择最小安装模式,确保选中“调试工具”、“兼容性程序库”...
### 最详细全面的CentOs5.5+mysql+nginx+php5.3.3安全安装手册 #### 一、安装CentOs5操作系统 ##### 1.1 系统安装 在进行CentOS 5.5的安装之前,首先需要设置计算机的BIOS启动顺序为光驱启动。设置完成后,将安装...