摘要:前言本次目標(biāo)是在新安裝在虛擬機(jī)中的系統(tǒng)中安裝一系列后端開發(fā)通常用到的程序服務(wù)這里不介紹的安裝并以為例子部署一個網(wǎng)站開機(jī)啟動重要提示如果覺得一個個安裝和配置太麻煩那推薦使用寶塔可視化管理工具進(jìn)行操作基本實(shí)現(xiàn)一鍵操作極大提高效率簡言之一個字爽當(dāng)
前言
本次目標(biāo)是在新安裝在虛擬機(jī)中的CentOS7.5系統(tǒng)中安裝一系列后端開發(fā)通常用到的程序服務(wù)(這里不介紹CentOS的安裝),并以phpMyAdmin為例子部署一個網(wǎng)站.
Nginx(1.16)
MySQL(8.0,開機(jī)啟動)
PHP(7.3)
Redis(1.5)
memcached(1.4)
Composer(1.8)
phpMyAdmin(4.8)
nodejs(10.15)
yarn(1.15)
重要提示:如果覺得一個個安裝和配置太麻煩那推薦使用寶塔可視化管理工具進(jìn)行操作,基本實(shí)現(xiàn)一鍵操作極大提高效率,簡言之一個字,爽!(當(dāng)然也不是完美的,如當(dāng)版本該工具不支持在ubuntu安裝MySQL8.0)
約定虛擬機(jī)ip是192.168.8.15,
管理員用戶名sorgo,
服務(wù)程序執(zhí)行用戶名www,
網(wǎng)站根除目錄/data/wwwroot,
安裝和配置時除特別說明則root用戶操作,
執(zhí)行編輯文件命令后,下一行開始向右縮進(jìn)4個空格為本次編輯的內(nèi)容
vmware虛擬機(jī)安裝不到20分鐘可以完成(基礎(chǔ)網(wǎng)頁服務(wù)器1810版本,選中文環(huán)境,yum源默認(rèn)是163.com)
用戶設(shè)置useradd www -s /usr/sbin/nologin useradd -G www sorgo passwd sorgo #賦予sorgo用戶root權(quán)限,且切換root時不用輸密碼, `-l`查看已有權(quán)限 visudo #編輯內(nèi)容: #添加一條,表示sorgo可使用`sudo`執(zhí)行root權(quán)限 sorgo ALL=(ALL) NOPASSWD: ALL全局命令別名設(shè)置
vim /etc/bashrc # 添加內(nèi)容: alias s-start="systemctl start" alias s-stop="systemctl stop" alias s-restart="systemctl restart" alias s-enable="systemctl enable" alias s-disable="systemctl disablep" alias s-status="systemctl status" alias vi="vim" alias ll="ls -laph" alias ..="cd .." alias nrd="npm run dev" alias nrh="npm run hot" alias nrp="npm run production" alias nrw="npm run watch" alias nrww="npm run watch-poll" alias yrd="yarn run dev" alias yrh="yarn run hot" alias yrp="yarn run production" alias yrw="yarn run watch" alias yrwp="yarn run watch-poll" alias pa="php artisan" alias phpspec="vendor/bin/phpspec" alias phpunit="vendor/bin/phpunit" #使修改立即生效 source /etc/bashrc網(wǎng)站目錄及權(quán)限
#項(xiàng)目目錄 mkdir -p /data/wwwroot/ #日志目錄 mkdir -p /data/wwwlogs/nginx/ #網(wǎng)站基礎(chǔ)應(yīng)用的安裝目錄 mkdir /data/server/ #賦權(quán) chown -R sorgo:www /data/ chmod -Rf g+s /data/網(wǎng)卡配置
#查看網(wǎng)卡名,左側(cè)一欄那個就是 ifconfig #編輯網(wǎng)卡配置,使nat模式的ip固定下來 vi /etc/sysconfig/network-scripts/ifcfg-ens33 #編輯內(nèi)容: #配置文件關(guān)鍵內(nèi)容,僅供參考 NAME=ens33 DEVICE=ens33 DEFROUTE=yes ONBOOT=yes #設(shè)置為static時要帶`IPADDR` BOOTPROTO=static IPADDR=192.168.8.15 NETMASK=255.255.255.0 #重啟生效 systemctl restart networkyum源配置
阿里源
cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.repo.bak wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum makecache
163源
官方使用幫助
cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.backup wget -O CentOS-Base.repo https://mirrors.163.com/.help/CentOS7-Base-163.repo yum clean all yum makecache #更新系統(tǒng)所有yum安裝的程序,選做 yum update -y
yum的一些命令
yum list all #列出所有安轉(zhuǎn)包 yum list installed #列出已經(jīng)安裝的 yum list available #列出沒有安裝的 yum remove software #卸載軟件 yum install software #安裝軟件 yum search 關(guān)鍵字 #搜索與關(guān)鍵字相關(guān)的軟件 yum whatprovides 文件 #搜索包含此文件的包 yum reinstall software #從新安裝軟件 yum localinstall 第三方軟件 #安裝該軟件并解決依賴關(guān)系 yum info software #查詢軟件信息 yum groups list #列出軟件組 yum groups install #安裝組 yum groups remove #卸載組 yum groups info #查看組信息 yum repolist #查看已安裝的源關(guān)閉防火墻
在centos7.5中,防火墻是默認(rèn)開機(jī)啟動的,在開發(fā)環(huán)境中為了方便起見這里直接把防火墻關(guān)閉
#查看狀態(tài) systemctl status firewalld #取消開機(jī)啟動 systemctl disable firewalld #關(guān)閉防火墻 systemctl stop firewalld #關(guān)閉selinux,否則影響samba的使用 vi /etc/selinux/config #編輯內(nèi)容: SELINUX=disabledpstree
yum install psmisc -y #查看目前在運(yùn)行的進(jìn)程 pstree編譯安裝程序用到的工具
#centos1810已默認(rèn)安裝 yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel好用的命令
#按進(jìn)程名查看pid pidof nginx #按進(jìn)程名終止 pkill redis-server killall redis-serverssh
ssh連接工具推薦使用MobaXterm,其自帶ftp文件傳輸功能
本次安裝的是stable版(當(dāng)前是1.16.*)
官方安裝指導(dǎo)文檔
#創(chuàng)建源文件 vi /etc/yum.repos.d/nginx.repo #添加以下內(nèi)容 [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key
如果要將主線版本設(shè)為默認(rèn)安裝的版本,可執(zhí)行yum-config-manager --enable nginx-mainline
安裝yum install yum-utils #下面命令會安裝前面源文件設(shè)置的stable版本 yum install -y nginx #查看安裝好的版本 nginx -v網(wǎng)站目錄配置
全局配置
#配置執(zhí)行用戶名 vi /etc/nginx/nginx.conf #編輯內(nèi)容: user www;
為新項(xiàng)目添加一個nginx站點(diǎn)配置,這是一個php網(wǎng)站的配置模板,今后其它網(wǎng)點(diǎn)的配置都會以這個模板為基礎(chǔ)進(jìn)行修改匹配.
#vi /etc/nginx/conf.d/your_project_name.conf #編輯內(nèi)容: #添加 server { listen 1700; #listen 443 ssl http2; #listen [::]:443 ssl http2; #listen [::]:80; #server_name domain.com; #字符集設(shè)置只能在server塊內(nèi) charset utf-8; index index.php index.html index.htm default.php default.htm default.html; root /data/wwwroot/your_project_name/public; #access_log /data/wwwlogs/nginx/your_project_name.log; #error_log /data/wwwlogs/nginx/your_project_name.error.log; #laravel、thinkPHP路由配置 location / { try_files $uri $uri/ /index.php?$query_string; } #運(yùn)行php文件 location ~ .php$ { try_files $uri =404; fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } #禁止訪問的文件或目錄 location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md) { return 404; } location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log off; access_log /dev/null; } location ~ .*.(js|css)?$ { expires 12h; error_log off; access_log /dev/null; } }運(yùn)行
#測試配置信息是否有語法問題,通過后才能啟動 nginx -t #啟動 nginx
全部指令
nginx -t #測試配置信息
nginx #默認(rèn)啟動方式 start
nginx -v #顯示版本信息,-V(大V)顯示編譯時的參數(shù)
nginx -s stop #快速停止服務(wù)
nginx -s quit #正常停止服務(wù)
nginx -s reload #重啟
#安裝源 yum install -y epel-release yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm #搜索符合條件的包 yum search php73 #安裝php7.3及其擴(kuò)展 #包含redis、memcached、msgpack和yaf框架等php擴(kuò)展 yum install -y php73-php php73-php-fpm php73-php-pear php73-php-bcmath php73-php-mbstring php73-php-cli php73-php-pdo php73-php-pecl-mysql php73-php-mysqlnd php73-php-pecl-redis4 php73-php-pecl-memcached php73-php-pecl-msgpack php73-php-pecl-yaf php73-php-pecl-jsond-devel php73-php-gd php73-php-common php73-php-intl php73-php-xml php73-php-opcache php73-php-pecl-apcu php73-php-gmp php73-php-process php73-php-pecl-imagick php73-php-devel php73-php-zip php73-php-ldap php73-php-imap php73-php-pecl-mcrypt #程序的安裝路徑:`/opt/remi/php73/`; #配置文件路徑:`/etc/opt/remi/php73/php.ini`;配置
cp /etc/opt/remi/php73/php.ini /etc/opt/remi/php73/php.ini.bak #修改php時區(qū)和擴(kuò)展文件目錄路徑 vi /etc/opt/remi/php73/php.ini #編輯內(nèi)容: date.timezone = PRC extension_dir = "/opt/remi/php73/root/usr/lib64/php/modules/" #修改php-fpm執(zhí)行用戶 vi /etc/opt/remi/php73/php-fpm.d/www.conf #編輯內(nèi)容: user=www group=www #賦權(quán) chown -R root:www /var/opt/remi/ #軟鏈到一般目錄 ln -s /etc/opt/remi/php73/php.ini /etc/php.ini ln -s /opt/remi/php73/root/usr/bin/php /usr/bin/php ln -s /opt/remi/php73/root/usr/sbin/php-fpm /usr/bin/php-fpm ln -s /opt/remi/php73/root/usr/bin/php-cgi /usr/bin/php-cgi ln -s /opt/remi/php73/root/usr/bin/pear /usr/bin/php-pear ln -s /opt/remi/php73/root/usr/bin/phar.phar /usr/bin/php-phar #查看安裝的php版本 php -v #查看已經(jīng)安裝的php擴(kuò)展模塊 php -m運(yùn)行php-fpm
#啟動 php-fpm #終止 kill -QUIT `cat /var/opt/remi/php73/run/php-fpm/php-fpm.pid` #重啟 kill -USR2 `cat /var/opt/remi/php73/run/php-fpm/php-fpm.pid`
官方安裝指南
yum安裝 安裝#下載源 wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm #安裝源 yum localinstall -y mysql80-community-release-el7-1.noarch.rpm #列出可用的mysql包 #yum repolist enabled | grep mysql #如果打算安裝5.7,那執(zhí)行下面兩句,切換默認(rèn)版本 #yum-config-manager --disable mysql80-community #yum-config-manager --enable mysql57-community #安裝 yum install -y mysql-community-server #更新版本 #yum update mysql-server # 查看版本 mysql -V配置
vi /etc/my.cnf #編輯內(nèi)容 [mysqld] # 設(shè)置3301端口 port=3301 # 允許最大連接數(shù) max_connections=200 # 允許連接失敗的次數(shù)。這是為了防止有人從該主機(jī)試圖攻擊數(shù)據(jù)庫系統(tǒng) max_connect_errors=10 # 服務(wù)端使用的字符集默認(rèn)為UTF8 #character-set-server=utf8 # 創(chuàng)建新表時將使用的默認(rèn)存儲引擎 default-storage-engine=INNODB # 默認(rèn)使用“mysql_native_password”插件認(rèn)證,以mysql5.7的密碼處理方式保存,以兼容較舊的連接程序,8.0默認(rèn)是caching_sha2_password方式 default_authentication_plugin=mysql_native_password #設(shè)置默認(rèn)時區(qū) default-time_zone = "+8:00"運(yùn)行
# 啟動 systemctl start mysqld # 開機(jī)啟動 systemctl enable mysqld # 狀態(tài) systemctl status mysqld # 查看root初始密碼 grep "temporary password" /var/log/mysqld.log # 登錄 mysql -uroot -p # 必須修改初始密碼,新密碼須包含大小字字母、數(shù)字和特殊字符至少8個字符 # 采用mysql_native_password方式處理密碼,以mysql5.7的密碼處理方式保存,以兼容較舊的連接程序,8.0默認(rèn)是caching_sha2_password方式 mysql> ALTER USER "root"@"localhost" IDENTIFIED WITH mysql_native_password BY "Sorgo123."; # 進(jìn)入MySQL數(shù)據(jù)庫 mysql> use mysql; # 設(shè)置root用戶可在任意主機(jī)登錄 mysql> update user set host="%" where user="root" and host="localhost"; mysql> FLUSH PRIVILEGES; # 查詢user表信息 mysql> select user,host,plugin from user;
推薦的使用手冊
安裝cd /data/server/ wget http://download.redis.io/releases/redis-5.0.4.tar.gz tar -zvxf redis-5.0.4.tar.gz && cd redis-5.0.4 make #軟鏈成統(tǒng)一的目錄,方便多版本管理 ln -s /data/server/redis-5.0.4 /data/server/redis ln -s /data/server/redis/redis.conf /etc/redis.conf #軟鏈到命令目錄 ln -s /data/server/redis/src/redis-cli /usr/local/bin/redis-cli ln -s /data/server/redis/src/redis-server /usr/local/bin/redis-server ln -s /data/server/redis/src/redis-sentinel /usr/local/bin/redis-sentinel #查看版本 redis-server -v配置
# vi /etc/redis.conf #任意主機(jī)可訪問 bind 0.0.0.0 #密碼登錄 requirepass Sorgo123. #后臺進(jìn)程的方式運(yùn)行 daemonize yes運(yùn)行
#按配置文件開啟 redis-server /etc/redis.conf #進(jìn)入交互操作工具 redis-cli -h 127.0.0.1 -p 6379 -a Sorgo123. #查看redis進(jìn)程信息 info server #關(guān)閉服務(wù) shutdown
yum install -y memcached #查看幫助信息及版本 memcached -h #開啟,可按不同端口開啟多個進(jìn)程 memcached -d -p 11211 -m 150 -u www #關(guān)閉,會把進(jìn)程名包含`memcached`的都關(guān)閉 pkill memcached
啟動選項(xiàng):編譯安裝,1.5
-d 是啟動一個守護(hù)進(jìn)程;
-m 是分配給Memcache使用的內(nèi)存數(shù)量,單位是MB;
-u 是運(yùn)行Memcache的用戶;
-l 是監(jiān)聽的服務(wù)器IP地址,可以有多個地址;
-p 是設(shè)置Memcache監(jiān)聽的端口,,最好是1024以上的端口;
-c 是最大運(yùn)行的并發(fā)連接數(shù),默認(rèn)是1024;
-P 是設(shè)置保存Memcache的pid文件。
cd /data/server/ #先安裝依賴,否則無法編譯 yum install -y libevent-devel #下載源碼 wget http://www.memcached.org/files/memcached-1.5.13.tar.gz #解壓和進(jìn)入目錄 tar -zvxf memcached-1.5.13.tar.gz && cd memcached-1.5.13 #執(zhí)行配置,這里只設(shè)置安裝目錄 ./configure --prefix=/data/server/memcached-1.5.13/ #編譯和安裝 make && make install ln -s /data/server/memcached-1.5.13 /data/server/memcached ln -s /data/server/memcached/bin/memcached /usr/local/bin/memcached #查看安裝的版本 memcached -h
#安裝 yum install -y samba samba-client samba-common #添加samba用戶,用戶已存在的用戶名,專門給samba登錄的密碼:sorgo smbpasswd -a sorgo #查看已添加的用戶 pdbedit -L #修改配置 cp /etc/samba/smb.conf /etc/samba/smb.conf.bak vim /etc/samba/smb.conf #添加可通過samba訪問的目錄路徑 [wwwroot] comment = website root path = /data/wwwroot valid users = sorgo writable = yes create mask = 0750 directory mask = 0750 #檢測配置文件語法 testparm #啟動 systemctl enable smb && systemctl enable nmb systemctl restart smb && systemctl restart nmb #查看狀態(tài) smbstatus # linux端使用 ##測試連接 smbclient -L //192.168.8.15 -U smb_user_naem ##掛載到應(yīng)用端 mount -t cifs //192.168.8.15/wwwroot/ /smb/ -o username=smb_user_naem,password=1234 df -h /smb ##卸載 umount /smb # windows端使用 ${ip} # 注意事項(xiàng) * 絕對不要在配置文件里寫中文,即使是中文注釋,否則windows無法進(jìn)入該目錄!!! * 如果服務(wù)器在windows里ping不通(不是因?yàn)榉?wù)器禁止ping,而是未知原因),那也是連不上的. * phpstrom在打開samba項(xiàng)目文件時變得異??D
安裝
#生成composer.phar php73 -r "copy("https://install.phpcomposer.com/installer", "composer-setup.php");" php73 composer-setup.php php73 -r "unlink("composer-setup.php");" #移至命令目錄 mv composer.phar /usr/local/bin/composer #版本等信息 composer
設(shè)置
#設(shè)置源為國內(nèi)鏡像,下面二選一 composer config -g repo.packagist composer https://packagist.phpcomposer.com composer config -g repo.packagist composer https://packagist.laravel-china.org #解除上面的設(shè)置 composer config -g --unset repos.packagist #查看全局配置 composer config -gl
phpMyAdmin其實(shí)就是一個php寫的網(wǎng)站, 到官網(wǎng)把php文件包下載到服務(wù)器, 設(shè)置好nginx指向根目錄即可.
cd /data/server/ #獲取方式1: 使用composer下載(有時速度不理想) #composer create-project phpmyadmin/phpmyadmin #獲取方式2: wget直接從官網(wǎng)下載(這是本次演示的方式) wget https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip #獲取方式3: 在其它地方下載好,然后通過ftp上傳到本服務(wù)器,原則上哪個便利采用哪種 #解壓到當(dāng)前目錄 unzip phpMyAdmin-4.8.5-all-languages.zip #軟鏈方便版本控制 ln -s phpMyAdmin-4.8.5-all-languages phpmyadmin #編輯配置文件 cp phpmyadmin/config.sample.inc.php phpmyadmin/config.inc.php vi phpmyadmin/config.inc.php #下面是編輯內(nèi)容: #設(shè)置任意32位以上長度的密鑰 $cfg["blowfish_secret"] = "dNE9GVnon3LWSVGvhGPuZdBhb7c7RtQ3"; #賦權(quán) chmod -R 770 phpmyadmin/ #nginx網(wǎng)站配置,利用sed命令來替換一個模板配置中的關(guān)鍵值 #主要改變了監(jiān)聽的端口`8888`和日志文件名`phpmyadmin` cat /etc/nginx/conf.d/your_project_name.conf | sed "s/1700/8888/g" | sed "s/your_project_name./phpmyadmin./g" | sed "s/wwwroot/your_project_name/public/server/phpmyadmin//g" > /etc/nginx/conf.d/phpmyadmin.conf #檢查配置文件無誤方可啟動 nginx -t #重啟nginx nginx -s reload #訪問 http://192.168.8.15:8888/
中文API文檔
node.js的安裝方式有:
epel源yum安裝(目前是6.16版);
二進(jìn)制文件安裝;
源碼編譯安裝;
現(xiàn)在介紹后兩種方法,也是版本選擇較為豐富的方法
二進(jìn)制文件安裝(10.15.3)(推薦)這個是下載下來就能用的
cd /data/server/ #下載二進(jìn)制文件包,大概12M wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz #解壓,注意這個解壓命令與解壓`.gz`結(jié)尾的文件不同 tar -xJvf node-v10.15.3-linux-x64.tar.xz #軟鏈 ln -s node-v10.15.3-linux-x64 node ln -s /data/server/node/bin/node /usr/local/bin/node ln -s /data/server/node/bin/npm /usr/local/bin/npm ln -s /data/server/node/bin/npx /usr/local/bin/npx #查看版本 node -v npm -v編譯安裝(10.15.3)
編譯的過程很慢,親測一個小時左右
cd /data/server/ #下載源碼,大概35M wget https://nodejs.org/dist/v10.15.3/node-v10.15.3.tar.gz tar -zvxf node-v10.15.3.tar.gz && cd node-v10.15.3 #執(zhí)行配置腳本 ./configure #編譯和安裝 make && make install #查看版本 node -v npm -v
官方安裝文檔
#添加yarn的yum源 curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo #安裝,須確保nodejs已經(jīng)安裝好 yum install -y yarn #查看版本 yarn -v
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/31334.html
摘要:前言本次目標(biāo)是在新安裝在虛擬機(jī)中的系統(tǒng)中安裝一系列后端開發(fā)通常用到的程序服務(wù)這里不介紹的安裝并以為例子部署一個網(wǎng)站開機(jī)啟動重要提示如果覺得一個個安裝和配置太麻煩那推薦使用寶塔可視化管理工具進(jìn)行操作基本實(shí)現(xiàn)一鍵操作極大提高效率簡言之一個字爽當(dāng) 前言 本次目標(biāo)是在新安裝在虛擬機(jī)中的CentOS7.5系統(tǒng)中安裝一系列后端開發(fā)通常用到的程序服務(wù)(這里不介紹CentOS的安裝),并以phpMyA...
摘要:基于的私有云混合云構(gòu)建方案蘇依蜀黍是一個開源的引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個輕量級的可移植的自給自足的容器。開發(fā)者在筆記本上編譯測試通過的容器可以批量地在生產(chǎn)環(huán)境中部署,包括虛擬機(jī)集群和其他的基礎(chǔ)應(yīng)用平臺。 container-as-a-service-0x01 -- 基于Docker的私有云&混合云構(gòu)建方案 By 蘇依蜀黍 . 2016.06.07 what Docker是一...
閱讀 1863·2021-11-25 09:43
閱讀 1378·2021-11-22 15:08
閱讀 3802·2021-11-22 09:34
閱讀 3261·2021-09-04 16:40
閱讀 3210·2021-09-04 16:40
閱讀 573·2019-08-30 15:54
閱讀 1362·2019-08-29 17:19
閱讀 1790·2019-08-28 18:13