前言:上一篇写到Git仓库的搭建,有朋友说服务器还没搭建好,所以这里来一篇环境搭建的。
注:我搭建是Centos6版本以上的,Centos7以上有大的改变
一、配置防火墙,开启80端口、3306端口,删除原有的iptables ,添加合适的配置
rm -rf /etc/sysconfig/iptablesvim /etc/sysconfig/iptables
添加一下内容:
# Firewall configuration written by system-config-firewall# Manual customization of this file is not recommended.*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -j REJECT --reject-with icmp-host-prohibitedCOMMIT
:wq保存退出,重启防火墙使配置生效
/etc/init.d/iptables restart centos 7.0以上执行 systemctl restart firewalld.service
关闭SELINUX
rm -rf /etc/selinux/configvim /etc/selinux/config
然后添加一行内容:
SELINUX=disabled
:wq 保存退出
进行重启系统
shutdown -r now
注意:配置好防火墙必须重启系统
二、安装第三方yum源
安装下载工具
yum install wget
下载
wget http://www.atomicorp.com/installers/atomic
安装
sh ./atomic
更新yum源
yum check-update
三、安装Nginx
删除系统自带的软件包
yum remove httpd* php*
安装nginx
yum install -y nginx
设置nginx开机启动
chkconfig nginx on Centos 7.0 以上执行 systemctlenablenginx.service
启动nginx
service nginx startCentos 7.0 以上 systemctl start nginx.service
注:nginx启动可能失败,需要修改配置文件报错如下
Starting nginx:nginx:[emerg] socket() [::]:80 failed (97:Address family not supported by protocol) [FAILED]
处理方法
vim /etc/nginx/conf.d/default.conf
将
listen 80 default_server;
listen [::]:80 default_server;
改为:
listen 80;#listen [::]:80 default_server;
保存退出:wq,重启成功
启动成功后,打开浏览器,输入ip地址,可看到nginx欢迎页
四、安装PHP
检查当前安装的PHP包
yum list installed | grep php
如果有安装的PHP包,先删除他们,如:
yum remove php.x86_64 php-cli.x86_64 php-common.x86_64
配置安装包源:
Centos 5.X
rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
CentOs 6.x
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
CentOs 7.X
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
注:不同版本服务器需要配置对应的安装包,如果想删除上面安装的包重新安装
rpm -qa | grep webstaticrpm-e[上面搜索到的包即可]
执行安装
yum -y install php56w.x86_64
yum -y --enablerepo=webtatic install php56w-devel
yum -y install php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64
yum -y install php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-opcache.x86_64
注:每条命令看到Complete!才成功
安装PHP FPM
yum -y install php56w-fpm
设置php-fpm开机启动
chkconfig php-fpm onCentos7.0以上 systemctlenablephp-fpm.service
启动php-fpm
/etc/init.d/php-fpm startCentos 7.0 以上 systemctl start php-fpm.service
注:如果想更换到php5.5或5.4版本,直接把上面的56w换成55w或者54w就可以了
五、 安装 MySQL
安装
yum install -y mysql mysql-server
启动MySQL
/etc/init.d/mysqld start
设为开机启动
chkconfig mysqld on
拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
为root用户设置密码
mysql_secure_installation
回车,根据提示输入Y,输入2次密码,回车,根据提示一路输入Y,最后出现:
Thanksforusing MySQL!
MySql密码设置完成,重新启动 MySQL:
#重启
/etc/init.d/mysqld restart
停止
/etc/init.d/mysqld stop
启动
/etc/init.d/mysqld start
六、配置nginx
我存放的nginx路径地址
[root@iZ2zeftluibm3hesz36v3tZ conf.d]# pwd/etc/nginx/conf.d
[root@iZ2zeftluibm3hesz36v3tZ conf.d]# lltotal 20-rw-r--r-- 1 root root 1501 Feb 9 10:54 admin.shop.conf-rw-r--r-- 1 root root 434 Dec 25 20:39 default.conf.bak-rw-r--r-- 1 root root 1419 Feb 8 17:19 web.shop.conf
因为nginx.conf里面
include /etc/nginx/conf.d/*.conf;
在/etc/nginx/conf.d下面新建一个.conf的文件 把这个东西复制进去
{
listen 80;
server_name 解析域名;
index index.php index.html index.htm default.html default.htm default.php; client_header_buffer_size 16k;
large_client_header_buffers 4 32k;
client_max_body_size 300m;
client_body_buffer_size 128k;
location / {
root 项目路径;
index index.php;
proxy_connect_timeout 3000;
proxy_send_timeout 3000;
proxy_read_timeout 3000;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
if(!-e$request_filename) {
rewrite ^/index.php(.*)$ /index.php?s=$1last;
rewrite ^(.*)$ /index.php?s=$1last;break;
}
}
location ~ \.php$ {
root 项目路径;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name; include fastcgi_params;
}
}
:wq 保存退出
七、 配置php-fpm
vim /etc/php-fpm.d/www.conf
将用户和用户组设置为nginx,如:
修改用户为nginx
user = nginx
修改组为nginx
group = nginx
八、开始测试
cd/var/wwwvim index.php
添加以下代码
phpinfo();
?>
:wq!
保存退出
#设置权限
chown nginx.nginx /var/www -R
#重启nginx
service nginx restart
#重启php-fpm
service php-fpm restart
这时你的mysql数据库不能远程连接的,此时你应该授权一下
USE mysql; GRANT ALL PRIVILEGES ON *.* TO'root'@'%'WITH GRANT OPTION; FLUSH PRIVILEGES;
注意:GRANT ALL PRIVILEGES表示授权所有权限,上面*.*中第一个*是授权可以访问的数据库名称, root是用户名, %表示授权所有的IP地址。
到这里就大致写完了,网上搭建服务器环境的很多,我也是综合各个前人经验,加入一些自己的理解,希望对有需要的朋友能有一点小小的帮助。这里推荐我上一篇Git版本库的搭建哦。
哈哈,知识在于分享,愿大家一块成长。
掘金地址:https://juejin.im/post/5a7d35625188257a5e5739a6