一般大型的网站建站环境都会采用Nginx系统环境架构,相对而言比Apache承受承载的线程和压力更大,不过对于一般的博客、网站来说,Apache环境也足够使用。在之前的相关文章中,无论是LNMP一键安装包、还是LEMP一键包、以及AMH等WEB面板,都是采用NGINX搭建的网站环境。
在这篇文章中,蜗牛整理一篇基于最新的CentOS7系统,搭建和应用Nginx/PHP-FPM 5.6/MySQL 5.5适用的网站环境,如果你也喜欢折腾,可以尝试下面的内容,文章是从海外翻译过来的,且进行过测试是完整的。
第一、安装EPEL和REMI库文件
rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
第二、安装Nginx
yum install nginx -y
启动和设置开机启动
systemctl start nginx
systemctl enable nginx
设置防火墙开启80端口
firewall-cmd –zone=public –add-port=80/tcp –permanent$ sudo firewall-cmd –reload
这里我们已经安装完毕NGINX,我们可以打开IP地址浏览器中,可以看到成功的NGINX安装界面提示。
第三、安装MariaDB 5.5
yum –enablerepo=remi,remi-php56 install mariadb-server mariadb -y
启动和设置开机启动
systemctl start mariadb
systemctl enable mariadb
设置数据库的安全
/usr/bin/mysql_secure_installation
执行上面脚本,根据提示我们需要设置一遍数据库的安全,删除匿名用户等。
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!In order to log into MariaDB to secure it, we\’ll need the current
password for the root user. If you\’ve just installed MariaDB, and
you haven\’t set the root password yet, the password will be blank,
so you should just press enter here.Enter current password for root (enter for none):
OK, successfully used password, moving on…Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.Remove anonymous users? [Y/n] y
… Success!Normally, root should only be allowed to connect from \’localhost\’. This
ensures that someone cannot guess at the root password from the network.Disallow root login remotely? [Y/n] y
… Success!By default, MariaDB comes with a database named \’test\’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.Remove test database and access to it? [Y/n] y
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.Reload privilege tables now? [Y/n] y
… Success!Cleaning up…
All done! If you\’ve completed all of the above steps, your MariaDB
installation should now be secure.Thanks for using MariaDB!
第四、安装PHP-fpm 5.6
yum –enablerepo=remi,remi-php56 install php-fpm php-common php-mysql php-opcache php-pear php-gd php-devel php-mbstring php-mcrypt php-cli php-pdo php-xml -y
启动和开机启动
service php-fpm start
chkconfig php-fpm on
第五、配置Nginx
到这里我们已经安装完毕nginx, mariadb, 以及php-fpm,我们需要对Nginx进行配置
A – 配置/etc/nginx/nginx.conf文件
user nginx;
worker_processes 1;
worker_processes表示当前VPS/服务器的CPU核心数,我们可以通过grep ^processor /proc/cpuinfo | wc -l检测和修改。
B – 检查启动sendfile, tcp_nopush, gzip,以及添加INDEX.PHP文件
sendfile on;
tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
index index.php index.html index.htm;
第六、添加站点和设置文件
vi /etc/nginx/conf.d/laozuo_org.conf
添加站点的时候,我们最好以域名来定,这样好检查和记忆。
server {
listen your_public_ip_address:80;
server_name www.laozuo.org;
root /var/www/www.laozuo.org;
index index.php index.html index.htm;charset utf-8;
location / {
}location = /robots.txt { allow all; access_log off; log_not_found off; }
location = /favicon.ico { allow all; access_log off; log_not_found off; }error_page 401 /401.html;
error_page 403 /403.html;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;location ~ \\.php$ {
root /var/www/www.laozuo.org;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_buffer_size 4K;
fastcgi_buffers 128 4k;
fastcgi_connect_timeout 50;
fastcgi_send_timeout 40;
fastcgi_read_timeout 40;
try_files $uri =404;
fastcgi_split_path_info ^(.+\\.php)(/.+)$;
include fastcgi_params;
}# deny access to .htaccess files, if Apache\’s document root
# concurs with nginx\’s one
#
# location ~ /\\.ht {
# deny all;
# }
}
输入对应的配置文件。
如果没有/var/www/www.laozuo.org文件夹,我们需要给予设置添加和配置权限。
mkdir /var/www/www.laozuo.org
chmod 777 /var/www/www.laozuo.org
最后,我们启动Nginx
systemctl restart nginx
如果无法启动,可以用\”systemctl status nginx.service\”检查到底是哪里的问题然后相应修改。
总结,这样我们可以在已经创建的文件夹中上传程序。如果需要有MYSQL等数据库的,我们单独再安装,我们也可以参考\”Debian安装LEMP(Linux/Nginx/MySQL/PHP)搭建站点建站环境\”文章安装。