在阿里云買了一服務(wù)器,用來做自己的測(cè)試和搭建博客,以及私有項(xiàng)目的版本倉(cāng)庫(kù)(github畢竟是任何人都可以下載的,不適合私有項(xiàng)目)。利用午休時(shí)間把這臺(tái)服務(wù)器環(huán)境的搭建過程分享出來,希望可以幫到有需要的朋友。
下面正式開始
一、安裝Nginx
添加CentOS 7 Nginx yum資源庫(kù),打開終端,使用以下命令:
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
然后輸入 "yum list nginx" 查看可安裝的nginx軟件包.
安裝nginx
yum -y install nginx # 安裝的nginx軟件包
nginx # 啟動(dòng)nginx
curl 127.0.0.1 # 是否能訪問到歡迎頁(yè)面
nginx -s stop # 暫時(shí)關(guān)閉nginx服務(wù)
開機(jī)啟動(dòng)Nginx
systemctl enable nginx.service
安裝完成后,Nginx默認(rèn)的目錄信息如下:
/usr/share/nginx/html # 網(wǎng)站文件存放默認(rèn)目錄
/etc/nginx/conf.d/default.conf # 網(wǎng)站默認(rèn)站點(diǎn)配置
/etc/nginx/conf.d/ # 自定義Nginx站點(diǎn)配置文件存放目錄
/etc/nginx/nginx.conf # Nginx全局配置
添加www用戶組和用戶:
groupadd www
useradd -d /home/wwwroot -g www -s /sbin/nologin www #我把站點(diǎn)文件都放在/home/wwwroot下
passwd www # 設(shè)置www用戶密碼('www'),以后ftp登錄用
修改Nginx用戶,編輯 /etc/nginx/nginx.conf ,修改如下配置:
user www www;
修改nginx目錄所有者(非常重要):
chown -R www:www /var/lib/nginx/
修改默認(rèn)站點(diǎn)目錄:
vi /etc/nginx/conf.d/default.conf
移動(dòng)默認(rèn)站點(diǎn):
mv /usr/share/nginx/html /home/wwwroot/webs/default # ftp不能上傳到家目錄,所以這里把站點(diǎn)都掛在子目錄webs下
chmod -R 755 /home/wwwroot/
關(guān)閉防火墻(一般改用iptables防火墻,這里暫不討論):
systemctl disable firewalld # 永久禁用
nginx -c /etc/nginx/nginx.conf # Nginx啟動(dòng)
curl 127.0.0.1 # 看看是否任然能夠訪問,能訪問則上面的配置正確
二. 安裝MySQL 5.7版本
添加MySQL5.7到Y(jié)UM源,并安裝
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
yum repolist enabled | grep mysql # 查看可用的安裝版本
yum -y install mysql-community-server # 安裝MySQL
systemctl start mysqld.service # 啟動(dòng)MySQL
systemctl enable mysqld.service # 開機(jī)啟動(dòng)
mysql安裝完成之后,修改root用戶密碼:
#修改 /etc/my.cnf,在 [mysqld] 小節(jié)下添加一行:
skip-grant-tables=1 # 這一行配置讓 mysqld 啟動(dòng)時(shí)不對(duì)密碼進(jìn)行驗(yàn)證
#重啟 mysqld 服務(wù):
systemctl restart mysqld
#使用 root 用戶登錄到 mysql:
mysql -u root
#切換到mysql數(shù)據(jù)庫(kù),更新 user 表:
use mysql;
#在之前的版本中,密碼字段的字段名是 password,5.7版本改為了 authentication_string
update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where user = 'root';
FLUSH PRIVILEGES;
#退出 mysql,編輯 /etc/my.cnf 文件,刪除 skip-grant-tables=1 的內(nèi)容
#重啟 mysqld 服務(wù),再用新密碼root登錄即可
配置默認(rèn)編碼為utf8
#修改/etc/my.cnf配置文件,在[mysqld]下添加編碼配置,如下所示:
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
重新啟動(dòng)mysql服務(wù)使配置生效:
systemctl restart mysqld
默認(rèn)只允許root帳戶在本地登錄,如果要在其它機(jī)器上連接mysql,必須修改root允許遠(yuǎn)程連接,或者添加一個(gè)允許遠(yuǎn)程連接的帳戶,為了安全起見,添加一個(gè)新的帳戶:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'apelogs'@'%' IDENTIFIED BY 'ApeLogs20170214' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
三. 安裝PHP7
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # 安裝epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm # 安裝PHP7的rpm源
執(zhí)行命令安裝php7:
yum install -y php70w php70w-cli php70w-common php70w-gd php70w-xml php70w-ldap php70w-mbstring php70w-mcrypt php70w-mysql php70w-pdo php70w-devel
安裝php-fpm:
yum install php70w-fpm php70w-opcache
設(shè)置用戶和組:
vi /etc/php-fpm.d/www.conf
user=www
group=www
開機(jī)啟動(dòng):
systemctl enable php-fpm.service
啟動(dòng)php-fpm:
systemctl start php-fpm
修改 /etc/nginx/conf.d/default.conf 文件,找到下面這段并改為如下所示:
location ~ \.php$ {
root /home/wwwroot/webs/default;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
重啟nginx:
nginx -s reload
查看PHPinfo
vi /home/wwwroot/webs/default/index.php
<?
phpinfo();
?>
chown -R www:www /home/wwwroot
瀏覽器訪問 http://IP/index.php 成功則環(huán)境已搭建好.