您的位置:首页 > 运维架构 > Nginx

CentOS7安装配置LEMP(Nginx/PHP-FPM 5.6/MySQL 5.5)网站环境过程

2017-04-11 14:44 971 查看
一般大型的网站建站环境都会采用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;

listen 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)搭建站点建站环境"文章安装。

本文固定链接: http://www.laozuo.org/5494.html
| 老左博客
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: